repository.usd.ac.idrepository.usd.ac.id/29315/2/065114001_Full.pdfi SISTEM KEAMANAN RUANGAN TUGAS...
Transcript of repository.usd.ac.idrepository.usd.ac.id/29315/2/065114001_Full.pdfi SISTEM KEAMANAN RUANGAN TUGAS...
i
SISTEM KEAMANAN RUANGAN
TUGAS AKHIR
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 :
ARDHY SIGIT PERMANA PUTRA
NIM : 065114001
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2009
ii
SECURITY ROOM SYSTEM
FINAL PROJECT
In partial fulfilment of the requirements
For the degree of Sarjana Teknik
Electrical Engineering Study Program
Electrical Engineering Department
Science and Technology Faculty Sanata Dharma University
By :
ARDHY SIGIT PERMANA PUTRA
NIM : 065114001
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2009
iii
iv
v
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya
atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar
pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 16 November 2009
Ardhy Sigit Permana Putra
vi
INTISARI
Pada awalnya SMS digunakan hanya sebagai sarana untuk pertukaran informasi.
Perkembangan selanjutnya SMS dapat diintegrasikan dengan suatu sistem kendali sebagai
media pengiriman data kendali untuk mengontrol sistem kendali dari jarak jauh seperti
pada sistem keamanan ruangan.
Dalam implementasi tugas akhir ini sistem keamanan ruangan dirancang untuk
mengirimkan SMS ke user dan perekaman video pada saat terjadi suatu kondisi tidak
aman pada ruangan seperti adanya kebakaran yang ditandai dengan kenaikan suhu
ruangan atau pembobolan ruangan melalui pintu ataupun jendela. Selain itu sistem bisa
mengatur akses masuk ruangan melalui kode akses masuk ruangan yang dikirimkan
melalui media SMS kepada user yang selanjutnya kode tersebut akan dimasukan melalui
keypad. Pada sistem ini menggunakan mikrokontroler AVR Atmega 8535, HP C55, limit
switch, sensor LM 35 dan webcam.
Pada pengujian sistem ini mampu bekerja dengan baik sesuai perancangan yang
dilakukan yaitu mampu mengenali SMS dari user, mengirimkan SMS ke user serta
merekam video saat terjadi kondisi tidak aman pada ruangan. Sistem ini juga mampu
mengirimkan SMS ke user berisi password untuk mengakses ruangan.
Kata kunci: SMS, mikrokontroler Atmega 8535, keypad, webcam, user
vii
ABSTRACT
In the beginning, SMS is only used as a facility of sending and receiving the
information. In the following development, SMS can be integrated with a remote control
system as a media of data transmission system to control it from long distance as in the
system of room security.
On the implementation of the final exam, the system of room security in designed
to send SMS to the user and record the video whe there are insecure conditions like fire
that is shown by increasing the temperature of the room, or break into the room through
the door of windows. Besides, this system can manage the acces of entering the room
through the acces code. This code is sent to the user by SMS media and it will be
registered throught the keypad. This system using microcontroller AVR Atmega 8535,
HP C55, limit switch, sensor LM35 and a webcam.
On testing, this system was able to work well because it was compatible with the
design. It was able to identify SMS from the user, send SMS to the user, and record the
video when there were insecure conditions in the room. The system was also able to send
SMS to the user containing password to acces the room.
Keyword : SMS, microcontroler Atmega 8535, keypad, webcam, user
viii
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : Ardhy Sigit Permana Putra
Nomor Mahasiswa : 065114001
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas
Sanata Dharma karya ilmiah saya yang berjudul:
SISTEM KEAMANAN RUANGAN
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada
Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk
media lain, mengolahnya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan
mempublikasikannya di internet dan media lain untuk kepentingan akademis tanpa perlu minta
ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya
sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal: 16 November 2009
Yang menyatakan
(Ardhy Sigit Permana Putra)
ix
KATA PENGANTAR
Puji syukur kepada Tuhan atas segala karunia-Nya sehingga penulis dapat
menyelesaikan penulisan karya tugas akhir ini. Tugas akhir berjudul : “Sistem Keamanan
Ruangan”.
Tugas akhir ini ditulis untuk memenuhi salah satu syarat dalam memperoleh gelar
sarjana teknik pada program studi Teknik Elektro Universitas Sanata Dharma.Penulisan
skripsi ini didasarkan pada hasil-hasil yang penulis peroleh pada saat perancangan alat,
pembuatan alat, sampai pada hasil pengujian pengujian alat.
Penulis ingin mengucapkan terima kasih kepada beberapa pihak yang telah
memberikan banyak bimbingan, bantuan, dan arahan sehingga laporan ini dapat
diselesaikan, diantaranya :
1. Allah SWT, pelindung dan penuntun hidupku
2. Ibu Ir. Theresia Prima Ari Setiyani, M.T. selaku dosen pembimbing skripsi yang
telah memberikan masukan, arahan, serta bimbingan selama pengerjaan rugas
akhir ini.
3. Bapak Ir. Tjendro selaku dosen Jurusan Teknik Elektro yang telah membantu
dalam memberikan arahan serta masukan dalam pengerjaan proyek ini dan telah
memberikan bimbingan sehingga penulis dapat menyelesaikan proyek ini dengan
baik.
4. Bapak dan Ibu dosen Jurusan Teknik Elektro yang telah mendidik dan
mengajarkan banyak hal yang berguna untuk masa depan penulis.
5. Seluruh staf sekretariat yang telah membantu penulis dalam mengurus semua
masalah administrasi selama perkuliahan di Universitas Sanata Dharma ini.
6. Para laboran prodi Teknik Elektro Universitas Sanata Dharma.
7. Ayah, Ibu, dan adik yang telah memberikan dukungan sehingga penulis dapat
menyelesaikan tugas akhir ini tepat waktu.
8. Osa yang selalu kusayangi walaupun jarak memisahkan kita.
x
9. Cicilia Faida Eka Rosita Sari yang telah memberikan dukungan dan semangat
sehingga penulis bisa lebih bersemangat dalam mengerjakan tugas akhir ini.
10. Buat teman-teman kost : Adrianus Chandra Opat, Maxnisianus Ngongo Rengga,
Umbu Makabumbu, Bahrul, Andi Putra, Melania Tisera, Edita Prestiwi Ayu yang
telah memberikan dukungan dan meminjaman komputer untuk mengerjakan
skripsi ini.
11. Buat teman-temanku : Thomas Supriadi, Gregorius Widya Mantri, Henry Rawung
yang memberikan bantuan kepada penulis sehingga tugas akhir ini dapat selesai.
12. Teman-teman angkatan 2005 , 2006 dan semua pihak yang telah terlibat yang
tidak dapat penulis sebutkan satu per satu, terimakasih atas semua dukungannya.
Penulis menyadari bahwa penulisan skripsi ini masih banyak terdapat kekurangan.
Segala kritik dan saran dari berbagai pihak penulis terima untuk perkembangan
selanjutnya. Semoga karya tulis ini dapat bermanfaat bagi pembaca. Terimakasih.
Yogyakarta, 16 November 2009
Penulis,
Ardhy Sigit Permana Putra
xi
DAFTAR ISI
Halaman Judul …………………………………………………………………… i
Halaman Judul (Inggris) ………………………………………………………… ii
Lembar Pengesahan oleh Pembimbing ………………………………………… iii
Lembar Pengesahan oleh Penguji ……………………………………………… iv
Lembar Pernyataan Keaslian Karya ……………………………………………. v
Intisari ……………………………………………………………………………. vi
Abstract …………………………………………………………………………... vii
Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah …………………………. viii
Kata Pengantar ……………………………………………………………………. ix
Daftar Isi …………………………………………………………………………… xi
Daftar Gambar……………………………………………………………………… xv
Daftar Tabel ………………………………………………………………………… xvi
Bab I Pendahuluan ………………………………………………………… 1
1.1 Judul ………………………………………………………… 1
1.2 Latar Belakang ……………………………………………… 1
1.3 Tujuan dan Manfaat ………………………………………… 3
1.4 Batasan Masalah ……………………………………………. 3
1.5 Metodologi Penelitian ……………………………………….. 4
Bab II Dasar Teori
2.1 Mikrokontroler AVR ATmega8535 ……………………… . 6
2.2 Konsep Komunikasi Serial ………………………………… 8
2.3 Port Serial ………………………………………………… 9
2.4 RS 232 …………………………………………………... 10
2.5 MAX 232 ………………………………………………….. 11
xii
2.6 LM 35 …………………………………………………….. 12
2.7 LCD ……………………………………………………….. 13
2.8 Transistor …………………………………………………. 14
2.9 Webcam …………………………………………………… 17
2.10 Short Messaging Service …………………………………. 17
2.11 Format SMS ……………………………………………... 18
2.12 AT COMMAND ………………………………………..... 22
2.13 Pemrograman Visual Basic………………………………. 23
2.13.1. Tampilan Awal Pada Visual Basic ……………… 24
2.13.2. Toolbar…………………………………………….. 24
2.13.3. Form Window……………………………………… 24
2.13.4. Toolbox…………………………………………….. 25
2.13.5. Project Explorer…………………………………… 26
2.13.6. Properties Window………………………………… 26
2.13.7. Form Layout Windows…………………………….. 27
2.13.8. Komunikasi Serial Pada Visual Basic……………... 27
Bab III Rancangan Penelitian
3.1 Diagram Blok Sistem Keamanan Ruangan ……………… 29
3.1.1 Limit Switch ……………………………………… 29
3.1.2 Keypad ……………………………………………… 30
3.1.3 Rangkaian Mikrokontroler ………………………… 30
3.1.4 LCD ………………………………………………… 32
3.1.5 Rangkaian RS 232 ………………………………….. 33
3.1.6 Rangkaian Driver ………………………………… 34
3.1.7 Spesifikasi PC dan Webcam ……………………… 36
3.2 Perancangan Perangkat Lunak ……………………………… 36
3.2.1 Perancangan Program Utama ……………………… 36
3.2.1.1 Perancangan Program Pengecekan SMS
Masuk Server …………………………. 37
3.2.1.2 Perancangan Program Turnon Sistem… 39
3.2.1.3 Perancangan Program Send Password … 40
3.2.1.4 Perancangan Program Pengecekan Kondisi
Sensor………………………………… 42
xiii
3.2.2 Perancangan PDU Pengiriman Pesan …………… 44
3.2.3 Perancangan Penerimaan Pesan ………………… 51
BAB IV Hasil Pengamatan dan Pembahasan
4.1 Pengujian Rutin Cek SMS Masuk ………………………. 55
4.2 Pengujian Rutin Turnon Sistem …………………………. 58
4.3 Pengujian Rutin Pengecekan Kondisi Sensor …………… 60
4.4 Pengujian Rutin Send Password ………………………… 63
BAB V Kesimpulan dan Saran …………………………………………... 67
5.1 Kesimpulan ……………………………………………… 67
5.2 Saran …………………………………………………….. 67
Daftar Pustaka …………………………………………………………………… 69
Lampiran ………………………………………………………………………… 70
xiv
DAFTAR GAMBAR
Gambar 2.1 Pin ATmega8535 ………………………………………………… 8
Gambar 2.2 Frame Komunikasi Serial ……………………………………….. 8
Gambar 2.3 Konfigurasi Port Serial DB9 ……………………………………. 9
Gambar 2.4 MAX 232 ……………………………………………………….. 12
Gambar 2.7 Sensor LM 35 …………………………………………………… 12
Gambar 2.8 Modul LCD Karakter 2x16 …………………………………….. 13
Gambar 2.9 Karakteristik Transistor …………………………………………. 15
Gambar 2.10 Konfigurasi transistor sebagai saklar …………………………. 16
Gambar 2.11 Arsitektur Dasar Jaringan SMS ………………………………. 17
Gambar 2.12 Visual Basic IDE (Integrated Development Environment) … 23
Gambar 2.13 Toolbar ……………………………………………………………… 24
Gambar 2.14 Form Window ……………………………………………………… 25
Gambar 2.15 Toolbox ………………………………………………………….….. 25
Gambar 2.16 Project Explorer ………………………………………………….. 26
Gambar 2.17 Properties Window………………………………………………… 26
Gambar 2.18 Layout Windows …………………………………………………… 27
Gambar 3.1 Diagram Blok Sistem Keamanan Ruangan …………………….. 29
Gambar 3.3 Rangkaian Limit Switch ……………………………………….. 30
Gambar 3.4 Rangkaian Keypad ……………………………………………. 30
Gambar 3.5 Rangkaian Mikrokontroler ……………………………………. 31
Gambar 3.6 Rangkaian LCD ……………………………………………….. 32
Gambar 3.6 Rangkaian RS 232 …………………………………………….. 34
Gambar 3.7 Rangkaian Driver ……………………………………………… 35
xv
Gambar 3.8 Flowchart Program Utama ……………………………………. 37
Gambar 3.9 Flowchart Program Pengecekan SMS Masuk Server ………… 38
Gambar 3.10 Flowchart Program Turnon Sistem ………………………….. 40
Gambar 3.11 Flowchart Program Send Password………………………….. 41
Gambar 3.12 Flowchart Pengecekan Kondisi Sensor ……………………… 43
Gambar 4.1 (a) Prototipe Ruangan ………………………………….. 54
(b) Bagian Elektronik …………………………………... 54
xvi
DAFTAR TABEL
Tabel 2.1 Pin dan Fungsi LCD ………………………………………………… 13
Tabel 2.2 Tabel SMSC ………………………………………………………… 18
Tabel 2.3 Tabel Skema 7 bit ……………………………………………………. 21
Tabel 3.1 Tabel Pengiriman SMS ………………………………………………. 44
Tabel 3.2 Kode PDU Pesan “Sistem idle” ………………………………………. 44
Tabel 3.3 Kode PDU Pesan “Sistem aman” ……………………………………. 45
Tabel 3.4 Kode PDU Pesan “Sistem aktif” ……………………………………… 45
Tabel 3.5 Kode PDU Pesan “Jendela buka” …………………………………….. 45
Tabel 3.6 Kode PDU Pesan “Pintu buka” ………………………………………. 46
Tabel 3.7 Kode PDU Pesan “Danger suhu” …………………………………….. 46
Tabel 3.8 Kode PDU Pesan “Danger pintu” ……………………………………. 46
Tabel 3.9 Kode PDU Pesan “Danger jendela” ………………………………….. 47
Tabel 3.10 Kode PDU Pesan “11111111” ………………………………………. 47
Tabel 3.11 Kode PDU Pesan “12587965” ………………………………………. 48
Tabel 3.12 Kode PDU Pesan “46543227” ………………………………………. 48
Tabel 3.13 Kode PDU Pesan “44587964” ……………………………………… 48
Tabel 3.14 Kode PDU Pesan “58795422” ………………………………………. 49
Tabel 3.15 Kode PDU Pesan “57841264” ………………………………………. 49
Tabel 3.16 Kode PDU Pesan “45879312” ………………………………………. 49
Tabel 3.17 Kode PDU Pesan “55874461” ………………………………………. 50
Tabel 3.18 Kode PDU Pesan “58793645” ………………………………………. 50
Tabel 3.19 Kode PDU Pesan “51247896” ……………………………………….. 50
Tabel 3.20 Kode PDU Pesan “58746875” ……………………………………….. 51
xvii
Tabel 3.21 Kode PDU Pesan “54785125” ………………………………………. 51
Tabel 3.22 Tabel Penerimaan PDU ……………………………………………… 52
Tabel 3.23 Kode PDU Pesan “Turnon sist” ……………………………………… 52
Tabel 3.24 Kode PDU Pesan “Send passwd” …………………………………… 52
Tabel 3.25 Kode PDU Pesan “Cek kondisi” ……………………………………. 53
Tabel 4.1 Tabel Pengiriman Pesan dan Respon Alat …………………………… 55
Tabel 4.2 Tabel Pengecekan Kondisi Pintu dan Jendela dalam kondisi Idle ….. 58
Tabel 4.3 Tabel Respon Sistem Dalam Kondisi Aktif …………………………. 60
Tabel 4.4 Tabel Pengiriman Password dan Masukan Password ……………….. 64
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Salah satu keinginan setiap orang adalah merasakan keamanan baik
keamanan diri maupun lingkungan sekitarnya, Sehingga orang berpikiran untuk
membuat suatu alat yang bisa memberi rasa aman pada seseorang.
Hal tersebut yang mendasari pembuatan suatu sistim keamanan khususnya
keamanan ruangan pada tugas akhir ini. Seperti diketahui banyak sekali sistem
keamanan ruangan yang sudah dipakai masyarakat. Tetapi, sistem keamanan yang
bisa memberikan informasi berupa SMS (short message service) dan merekam
video pada saat terjadi kondisi tidak aman seperti kebakaran, pembobolan ruangan
melalui pintu atau jendela masih sangat sedikit [1].
Pada awalnya SMS digunakan hanya sebagai sarana untuk pertukaran
informasi. Perkembangan selanjutnya SMS dapat diintegrasikan dengan suatu
sistem kendali sebagai media pengiriman data kendali untuk mengontrol sistem
kendali dari jarak jauh. Aplikasi SMS pada sistem kendali sudah diaplikasikan
pada Otomasi Pintu Garasi Berbasis SMS [2], Rancangan Dan Implementasi
Prototipe Sistem Kendali Jarak Jauh Berbasis AT89C52 Dan Layanan SMS GSM
[3].
2
Pada tugas akhir ini, penulis akan membuat suatu sistem keamanan
ruangan yang mengintegrasikan mikrokontroler AVR, keypad, limit switch, sensor
suhu LM35, handphone C55, buzzer, solenoid, webcam genius dan PC. Limit
switch berfungsi sebagai penanda open atau closed pada pintu dan jendela, sensor
suhu LM35 berfungsi sebagai pengukur suhu ruangan, keypad untuk memasukkan
password akses masuk ruangan, handphone C55 berfungsi sebagai media
penerima SMS dari user dan media pengirim SMS ke user, mikrokontroler
berfungsi untuk mengolah data masukan dari limit switch, sensor suhu LM35,
SMS handphone C55 dan input dari keypad, solenoid berfungsi untuk mengunci
pintu, sedangkan PC dan webcam akan merekam video ruangan yang dikontrol
melalui mikrokontroler.
Sistem keamanan ruangan ini akan mengatur akses masuk ruangan melalui
kode akses masuk ruangan yang dikirimkan melalui media SMS kepada user yang
selanjutnya kode tersebut akan dimasukan melalui keypad. Pada saat terjadi suatu
kondisi tidak aman pada ruangan seperti adanya kebakaran yang ditandai dengan
kenaikan suhu ruangan atau pembobolan ruangan melalui pintu ataupun jendela
sistem ini akan membunyikan buzzer, mengirimkan SMS ke user dan merekam
video ruangan secara otomatis.
Dengan adanya sistem proteksi akses masuk ruangan melalui kode yg
dikirimkan melalui media SMS ke user, perekaman video kondisi ruangan dan
pengiriman pesan user diharapkan sistem keamanan ruangan ini mampu
melengkapi sistim keamanan ruangan yang ada pada saat ini sehingga akan
meningkatkan keamanan pada ruangan dan dapat digunakan sebagai media
penelusuran tindak kejahatan melalui video yang terekam.
3
1.2 Tujuan dan Manfaat
Skripsi ini bertujuan :
1. Menghasilkan sistem keamanan ruangan yang bisa dikendalikan dari jarak
jauh melalui media SMS seperti mengaktifkan atau menonaktifkan sistem,
mengunci pintu dan mematikan buzzer.
2. Menghasilkan sistem keamanan yang bisa memberikan informasi ke pemilik
ruangan melalui media SMS dan merekam video pada saat terjadi kondisi
tidak aman pada ruangan seperti adanya kebakaran yang ditandai dengan
kenaikan suhu ruangan dan pembobolan ruangan melalui pintu ataupun
jendela.
Beberapa manfaat yang diharapkan dengan adanya skripsi ini adalah :
1. Menjadi salah satu alternatif sistem keamanan ruangan yang bisa
diterapkan pada masyarakat luas.
2. Sebagai alat bantu penelusuran terhadap tindakan kejahatan seperti
pencurian melalui video yang terekam.
1.3 Batasan Masalah
Batasan masalah dalam pembuatan sistem keamanan ruangan adalah :
1. Menggunakan handphone C55 sebagai media penerima SMS dari user dan
media pengirim SMS ke user.
2. Menggunakan webcam Genius Look 316 untuk mengambil video secara
otomatis dan software untuk merekam video menggunakan software Cam
Source.
3. Menggunakan limit switch sebagai penanda open atau closed pada pintu dan
jendela serta sensor suhu LM35 sebagai pengukur suhu ruangan.
4
4. Menggunakan solenoid untuk mengunci pintu.
5. Menggunakan keypad untuk memasukan password pembuka pintu ruangan.
6. Menggunakan pompa wiper mobil untuk mengalirkan air ke dalam ruangan.
1.4 Metodologi Penelitian
Metodologi penelitian yang dipakai untuk tugas akhir adalah sebagai berikut :
1. Studi Literatur
Mempelajari prinsip kerja SMS yang dilanjutkan dengan pembelajaran
tentang karakteristik SMS, program bahasa basic pada Bascom AVR,
Mikrokontroller AVR ATmega8535 dan komunikasi serial.
2. Perancangan dan pembuatan alat serta program, seperti algoritma, flow chart,
layout rangkaian.
Untuk mengintegrasikan hubungan antara mikrokontroler AVR, keypad,
limit switch, sensor suhu LM35, handphone C55, buzzer, solenoid, webcam dan
PC diperlukan perancangan perangkat keras meliputi mikrokontroler AVR,
komunikasi serial RS 232. Sedangkan untuk perancangan perangkat lunak
meliputi integrasi webcam dengan PC dengan menggunakan software Cam
Source dan pemrograman mikrokontroler AVR.
3. Pengujian sistem keamanan ruangan meliputi pengujian sistem kendali
mengaktifkan atau menonaktifkan sistem, mengunci pintu, dan mematikan
alarm melalui media SMS dan pengujian perekaman video
Pada tahap ini akan dilakukan pengujian terhadap komponen-komponen
dan sensor-sensor yang digunakan pada sistem keamanan ini. Pengujian sistem
ini dilakukan untuk mengetahui sistem keamanan sudah dapat bekerja sesuai
dengan input yang diberikan.
5
4. Analisa Sistem
Pada tahap ini penulis akan melakukan analisa berdasarkan data-data yang
telah didapatkan saat pengujian.
5. Pengambilan kesimpulan
Pada tahap ini penulis akan mengambil kesimpulan berdasarkan dari hasil
analisa yang didapat.
6
BAB II
DASAR TEORI
2.1 Mikrokontroler AVR ATmega8535 [4]
Mikrokontroller AVR memiliki arsitektur RISC 8 Bit, sehingga semua instruksi
dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam
satu siklus instruksi clock. Hal ini sangat membedakan sekali dengan instruksi MCS-51
(berarsitektur CISC) yang membutuhkan siklus 12 clock. RISC adalah Reduced
Instruction Set Computing sedangkan CISC adalah Complex Instruction Set Computing.
AVR dikelompokkan ke dalam 4 kelas, yaitu ATtiny, keluarga AT90Sxx, keluarga
ATMega, dan keluarga AT86RFxx. Dari ke semua kelas yang membedakan satu sama
lain adalah ukuran on board memori, on-board peripheral dan fungsinya. Dari segi
arsitektur dan instruksi yang digunakan, bisa dikatakan hampir sama.
Berikut adalah arsitektur, fitur dan konfigurasi pin ATmega8535.
1. Arsitektur ATMega8535
a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D.
b. ADC 10 bit sebanyak 8 Channel
c. Tiga buah timer / counter
d. 32 register
e. Watchdog Timer dengan oscilator internal
f. SRAM sebanyak 512 byte
g. Memori Flash sebesar 8 kb
h. Sumber Interrupt internal dan eksternal
7
i. Port SPI (Serial Pheriperal Interface)
j. EEPROM on board sebanyak 512 byte
k. Komparator analog
l. Port USART (Universal Shynchronous Ashynchronous Receiver
Transmitter)
2. Konfigurasi Pin ATMega8535
a. VCC merupakan Pin yang berfungsi sebagai pin masukan catu daya
b. GND merupakan Pin ground
c. Port A (PA0...PA7) merupakan pin I/O dan pin masukan ADC
d. Port B (PB0...PB7) merupakan pin I/O dan pin yang mempunyai fungsi
khusus yaitu timer/counter, komparator analog dan SPI
e. Port C (PC0...PC7) merupakan port I/O dan pin yang mempunyai fungsi
khusus, yaitu komparator analog dan timer oscillator
f. Port D (PD0...PD1) merupakan port I/O dan pin fungsi khusus yaitu
komparator analog dan interrupt eksternal serta untuk komunikasi serial
g. RESET merupakan pin yang digunakan untuk mereset mikrokontroler
h. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.
i. AVCC merupakan pin masukan untuk tegangan ADC
j. AREF merupakan pin masukan tegangan referensi untuk ADC
Gambar 2.1 adalah gambar IC ATmega8535:
8
Gambar 2.1 Pin ATmega8535 [13]
2.2 Konsep Komunikasi Serial
Komunikasi serial merupakan fitur yang penting dalam suatu sistem embedded,
karena dengan komunikasi serial kita dapat dengan mudah menghubungkan
mikrokontroler dengan peranngkat lainnya. Port serial pada mikrokontroler terdiri atas
dua pin yaitu TxD dan RxD. RxD berfungsi untuk menerima data dari komputer atau
peralatan lainnya sedangkan TxD berfungsi untuk mengirim data ke computer atau
peralatan lainnya. Pengiriman data serial dikirim satu per satu, beserta format data serial
yang umum seperti pada gambar 2.2 [5]:
Gambar 2.2 Frame Komunikasi Serial
9
Standar komunikasi serial untuk komputer ialah RS-232. RS-232 mempunyai
standar tegangan yang berbeda dengan serial port mikrokontroler, sehingga agar sesuai
dengan RS-232, maka dibutuhkan suatu rangkaian level converter. Pada mikrokontroler
ATmega 8535, pin PD0 dan PD1 digunakan untuk komunikasi serial USART (Universal
Synchronous and Ansynchronous Serial Receiver and Transmitter) yang mendukung
komunikasi full duplex (komunikasi dua arah) .
Pada mikrokontroler ATMEGA 8535 terdapat beberapa register untuk mengatur
komunikasi secara serial yaitu register UCSRA, UCSRB dan ACSRC. Clock generation
logic membangkitkan clock untuk pengirim dan penerima. USART ini mendukung empat
mode operasi clock, yaitu Normal Asynchronous, DoubleSpeed Asynchronous, Master
Synchronous, dan Slave synchronous. Bit UMSEL pada USART Control And Status
Register C (UCSRC) memilik operasi sinkron atau asinkron.
2.3 Port Serial
Dalam pengiriman data secara serial pada PC dibutuhkan port sebagai saluran data.
Port yang biasanya digunakan adalah DB9. Standar RS232 menyangkut komunikasi data
antar komputer (Data Terminal Equipment/DTE) dengan peralatan pada komputer (Data
Circuit-Terminating Equipment/DCE). Berikut konfigurasi port serial DB9 ditunjukkan
pada gambar 2.3 [5]:
Gambar 2.3 Konfigurasi Port Serial DB9
10
Keterangan mengenai fungsi saluran RS232 pada konektor DB-9 adalah sebagai
berikut:
1. Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE bahwa
pada terminal masukan ada data masuk.
2. Receive Data, digunakan DTE menerima data dari DCE.
3. Transmit Data, digunakan DTE mengirimkan data dari DCE.
4. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan terminal
5. Signal Ground, saluran ground.
6. Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah stasiun
menghendaki hubungan dengannya.
7. Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh
mengirimkan data.
8. Request To Send, dengan saluran ini DCE diminta mengirim data oleh DTE.
9. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
2.4 RS 232
Terdapat beberapa macam cara untuk menerapkan interface data biner pada
komunikasi secara serial, salah satunya adalah RS-232 yang merupakan salah satu dari
standar yang dipilih dan sekarang telah dipakai secara luas dan dalam komunikasi data
umumnya digunakan untuk menghubungkan DTE (Data Terminal Equipment) ke DCE
(Data Communication Equipment) yang berupa peralatan sistem komunikasi analog [5].
RS232 merupakan singkatan dari Recommended Standard number 232. Standar ini
dibuat oleh Electronic Industry Association (EIA), untuk interface antara peralatan
terminal data dan komunikasi data, dengan menggunakan data biner sebagai data yang
ditransmisi. RS232 adalah suatu data Serial Data Interface Standard yang dikeluarkan
11
oleh EIA. Standarisasi meliputi konektor, fungsi dan level tegangan atau arus. Standar ini
juga berisikan karakteristik sinyal listrik, karakteristik mekanik dan cara operasional
rangkaian fungsional. Karakteristik rangkaian fungsionalnya sebagai berikut [5]:
1. Logika „1‟ disebut „mark‟ terletak antara -3V hingga -25V.
2. Logika „0‟ disebut „space‟ terletak antara +3V hingga +25V.
3. Daerah tegangan antara -3V hingga +3V, ≤ -25V dan ≥ +25V adalah invalid level,
yaitu daerah tegangan yang tidak memiliki logika pasti dan harus dihindari.
Rangkaian pengubah level tegangan TTL menjadi level tegangan RS232
menggunakan rangkaian voltage doubler atau rangkaian pengganda tegangan dan
rangkaian voltage inverter atau rangkaian pembalik tegangan. Voltage doubler digunakan
untuk menggandakan tegangan TTL. Logika “1” pada tegangan TTL adalah saat memiliki
tegangan +5V dan logika “0” adalah saat memiliki tegangan 0V. Untuk dapat diterima di
PC keadaan logika “1” harus terletak antara -3V hingga -25V dan logika “0” terletak
antara +3V hingga +25V maka dibutuhkan voltage doubler dan voltage inverter sekaligus
[5].
2.5 MAX 232
MAX232 adalah multichannel RS232 driver atau receiver yang hanya
membutuhkan single supply sebesar 5V [5]. Seperti pada gambar 2.4 MAX 232 memiliki
jalur komunikasi RX dan TX namun yang digunakan hanya sebagian TX (Transmitter)
saja dengan ketentuan sebagai berikut :
1. Logika low (0) pada input dapat menghasilkan tegangan output sebesar +10V
2. Logika high (1) pada input menghasilkan tegangan output sebesar -10 V
12
Gambar 2.4 MAX 232
2.6 LM 35
LM 35 merupakan IC (Integrated Circuit) sensor temperature yang presisi, dimana
tegangan outputnya proporsional linear terhadap temperature Celcius dengan range
( ). LM 35 tidak membutuhkan kalibrasi tambahan atau pengesetan untuk
menghasilkan akurasi pada temperature ruangan dan saat melebihi batas
skala penuh [6].
LM 35 memiliki impedansi output yang sangat rendah sekitar untuk beban
, output yang linear serta hanya membutuhkan supply yang berarti
panas yang diakibatkan oleh LM35 itu sendiri sangat rendah serta tegangan operasi dari
4- 30 Volt. Sensor LM 35 terlihat seperti gambar 2.5 :
Gambar 2.5 Sensor LM 35
13
2.7 LCD ( Liquid Cristal Display )
LCD merupakan suatu tampilan yang terdiri dari bahan cairan kristal yang
dioperasikan dengan menggunakan sistem dot. LCD yang digunakan dalam tugas akhir
ini mempunyai lebar display 2 baris 16 kolom atau biasa disebut sebagai LCD karakter
2x16, dengan 16 pin konektor seperti gambar 2.6, yang didefinisikan sebagai berikut [4]:
Gambar 2.6 Modul LCD Karakter 2x16
Tabel pin dan fungsi LCD terlihat pada tabel 1:
Tabel 2.1 Tabel Pin dan Fungsi LCD
PIN Nama Fungsi
1 VSS Ground voltage
2 VCC +5V
3 VEE Contrast voltage
4 RS
Register Select
0 = Instruction Register
1 = Data Register
5 R/W 0 = write mode
1 = read mode
6 E 0 = start to lacht data to LCD character
1= disable
7 DB0 LSB
8 DB1 -
9 DB2 -
10 DB3 -
11 DB4 -
12 DB5 -
13 DB6 -
14 DB7 MSB
15 BPL Back Plane Light
16 GND Ground voltage
Display karakter pada LCD diatur oleh beberapa pin yaitu :
14
1. Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa
anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, program
EN harus dibuat logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW.
Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu untuk
sejumlah waktu tertentu ( sesuai dengan datasheet dari LCD tersebut ) dan berikutnya
set EN ke logika low “0” lagi.
2. Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan
dianggap sebagi sebua perintah atau instruksi khusus ( seperti clear screen, posisi
kursor dll ). Ketika RS berlogika high “1”, data yang dikirim adalah data text yang
akan ditampilkan pada display LCD.
3. Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka
informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high
”1”, maka program akan melakukan pembacaan memori dari LCD.
2.8 Transistor
Transistor merupakan salah satu jenis komponen aktif yang banyak digunakan, baik
dalam rangkaian analog maupun digital. Transistor yang banyak digunakan adalah
transistor bipolar, yang terdiri dari dua jenis yaitu PNP dan NPN. Secara umum transistor
digunakan untuk pensaklaran (switching) maupun penguatan. Transistor dapat bekerja
bila diberi bias [7]. Pembiasan pada transistor dapat dilakukan dengan cara sebagai
berikut:
1. Bias maju (forward bias) pada hubungan emitor dan basis, dimana bahan tipe P
mendapat positif dan tipe N mendapat negatif.
2. Bias mundur (reverse bias) pada hubungan kolektor dan basis, dimana bahan tipe P
mendapat negatif dan tipe N mendapat positif.
15
Transistor mempunyai tiga daerah kerja seperti terlihat pada gambar 2.7 :
Gambar 2.7 Karakteristik Transistor
1. Daerah mati (Cut Off)
Daerah mati merupakan daerah kerja saat transistor mendapat bias arus basis (Ib) > 0,
maka arus kolektor dengan basis terbuka menjadi arus bocor dari basis ke emitor
(ICEO). Hal yang sama dapat terjadi pada transistor hubungan kolektor-basis. Jika
arus emitor sangat kecil (IE = 0), emitor dalam keadaan terbuka dan arus mengalir
dari kolektor ke basis (ICBO).
2. Daerah aktif
Transitor dapat bekerja pada daerah aktif jika transistor mendapat arus basis (Ib) > 0.
Tetapi jika lebih kecil dari arus basis maksimalnya, keluaran arus kolektor akan
berubah-ubah sesuai dengan perubahan pemberian arus basisnya.
3. Daerah jenuh
Transistor dapat bekerja pada daerah jenuh jika transistor mendapat arus basis (Ib)
lebih besar dari arus basis maksimalnya. Hal ini menimbulkan keluaran arus kolektor
tidak dapat bertambah lagi.
Prinsip pengoperasian transistor sebagai saklar memiliki dua keadaan, yaitu keadan
tidak bekerja (cut off) dan keadaan jenuh. Dimana perubahan keadaannya dapat berupa
16
perubahan tegangan ataupun arus. Penggunaan transistor sebagai saklar seperti pada
gambar 2.9 :
Gambar 2.9 Konfigurasi transistor sebagai saklar
Saat Vin = 0, maka tidak ada arus yang mengalir pada Rb dan basis transistor
sehingga transistor dalam kondisi tidak bekerja. Tidak ada arus yang mengalir kecuali
arus bocor, sehingga kondisi ini identik dengan saklar terbuka dan menyebabkan beban
RL tidak bekerja.
Saat Vin mendapat masukan yang cukup besar hingga dapat mengalirkan arus basis
yang cukup untuk transistor, maka transistor akan jenuh. Besarnya Rb dapat dicari
dengan persamaan:
(2.2)
Jika transistor dihubungkan dengan IC dan digunakan sebagai switch setidaknya harus
mempunyai waktu sebesar 5 detik untuk load arus kolektor yang dihasilkan oleh arus
maksimum IC.
jika beban menggunakan power supply yang sama maka
(2.3)
17
2.9 Webcam
Webcam dari genius Look 316 mempunyai spesifikasi sebagai berikut [8]:
1. Image Sensor type VGA (640 x 480) CMOS Image Sensor
2. Lens type Manual Lens
3. Interface USB1.0/1.1
4. File format BMP/AVI
5. Still Image 800 x 600(DirectX9.0 later and software interpolation)
6. AVI Capture 640 x 480 (Maximum)
7. Frame rate 320 x 240 / up to 30 frames per second (with recommended system)
2.10 Short Messaging Service
SMS merupakan aplikasi GSM (Global Service Mobile) yang menyediakan layanan
untuk mengirim dan menerima pesan pendek berupa huruf dan angka. Aplikasi ini hanya
terbatas pada pengiriman dan penerimaan data berupa teks dengan panjang pesan antara
120 – 160 huruf. SMS point-to-point menyediakan mekanisme untuk mengirimkan pesan
pendek ke dan dari piranti bergerak. Layanan ini menggunakan SMSC yang bertindak
sebagai sistem simpan dan penyampaian pesan pendek. Jaringan wireless akan menangani
pegiriman pesan pendek antara SMSC dan piranti bergerak [9]. Arsitektur dasar jaringan
SMS terlihat pada gambar 2.10:
Gambar 2.10 Arsitektur Dasar Jaringan SMS
MSCSMC
G/TW/MSCSMSC
HLR VLR
SS7 BSS
SME
SME
SME
SME
18
2.11 Format SMS [9]
Menu pesan pada sebuah ponsel terdapat AT Command yang bertugas mengirim
atau menerima data dari SMSC. AT Command sebenarnya hampir sama dengan perintah
Prompt pada DOS. Data yang mengalir ke atau dari SMSC harus berbentuk PDU
(Protocol Data Unit). PDU berisi bilangan-bilangan heksadecimal yang mencerminkan
bahasa I/O yang terdiri dari beberapa header. Header untuk kirim SMS ke SMSC berbeda
dengan yang diterima dari SMSC.
1. PDU untuk mengirim SMS
PDU untuk mengirim SMS terdiri atas delapan header, sebagai berikut:
a. Nomor SMS-Centre
Header pertama ini terbagi menjadi tiga bagian sub header, yaitu
1) Jumlah Pasangan Hexsadesimal SMS-Centre dalam bilangan heksa
2) National/International Code
a) Untuk National, kode subheader-nya yaitu 81
b) Untuk International, kode subheader-nya yaitu 91
c) Nomor SMS-Centre-nya sendiri, dalam pasangan heksa dibalik-
balik. Jika tertinggal satu angka heksa yang tidak memiliki
pasangan, angka tersebut akan dipasangkan dengan huruf F
didepannya seperti terlihat pada tabel 2.2 :
Tabel 2.2 Tabel PDU SMSC
No Operator
Selular
No SMSC Kode PDU
1 Satelindo 62816124 05 91 26 18 16 42
2 Excelcomindo 62818445009 07 91 26 18 48 54 00 F9
3 Telkomsel 6281100000 06 91 26 18 01 00 00
4 Im3 62855000000 07 91 26 58 05 00 00 F0
19
b. Tipe SMS
Oktet pertama untuk PDU mengirim sms yaitu 11
c. Nomor Referensi SMS
Nomor referensi ini dibiarkan dulu 0, jadi bilangan heksanya adalah 00.
Nanti akan diberikan sebuah nomor referensi otomatis oleh handphone atau
alat SMS-gateway.
d. Nomor Handphone Penerima
Sama seperti cara menulis PDU Header untuk SMS-Centre, header ini juga
terbagi atas tiga bagian, sebagi berikut:
1) Jumlah bilangan desimal nomor ponsel yang dituju dalam bilangan
heksa
2) National atau international Code.
a) Untuk national, kode subheader-nya: 81
b) Untuk international, kode subheader-nya: 91
3) Nomor handphone yang dituju, dalam pasangan heksa dibalik-balik.
Jika tertinggal satu angka heksa yang tidak memiliki pasangan, angka
tersebut dipasangkan dengan huruf F didepannya.
e. Bentuk SMS, antara lain:
1) 00 dikirim sebagi SMS
2) 01 dikirim sebagai telex
3) dikirim sebagai fax
Dalam hal ini, untuk mengirim dalam bentuk SMS tentu saja dipakai 00
20
f. Skema Encoding Data I/O
Ada dua skema, yaitu:
1) Skema 7 bit ditandai dengan angka 0 00
2) Skema 8 bit ditandai dengan angka lebih besar dari 0 diubah ke heksa
Kebanyakan handphone atau SMS Gateway yang ada di pasaran sekarang
menggunakan skema 7 bit sehingga kita menggunakan kode 00.
g. Jangka Waktu sebelum SMS Expired
Jika bagian ini di-skip, itu berarti kita tidak membatasi waktu berlakunya
SMS. Sedangkan jika kita isi dengan suatu bilangan integer yang kemudian
diubah ke pasangan heksa tertentu, bilangan yang kita berikan tersebut akan
mewakili jumlah waktu validitas SMS tersebut. Untuk batas waktu pengiriman
maksimum maka bagian ini di isi dengan kode FF
h. Isi SMS
Header ini terdiri atas dua subheader, yaitu:
1) Panjang isi (jumlah huruf dari isi)
2) Isi berupa pasangan bilangan heksa
Ada dua langkah yang harus kita lakukan untuk mengkonversi isi SMS,
yaitu:
1. Mengubah karakter sms ke dalam kode heksa dengan menggunakan
tabel 2.3
2. Mengubah kode heksa menjadi kode 7 bit (septet)
3. Mengubah kode 7 bit menjadi 8 bit
4. Mengubah kode 8 bit menjadi heksa (oktet)
21
Tabel 2.3 Tabel Karakter ke Heksa
Hex Char Hex Char Hex Char
20 Space 40 @ 60 `
21 ! 41 A 61 a
22 “ 42 B 62 b
23 # 43 C 63 c
24 $ 44 D 64 d
25 % 45 E 65 e
26 & 46 F 66 f
27 „ 47 G 67 g
28 ( 48 H 68 h
29 ) 49 I 69 i
2A * 4A J 6A j
2B + 4B K 6B k
2C , 4C L 6C l
2D - 4D M 6D m
2E . 4E N 6E n
2F / 4F O 6F o
30 0 50 P 70 p
31 1 51 Q 71 q
32 2 52 R 72 r
33 3 53 S 73 s
34 4 54 T 74 t
35 5 55 U 75 u
36 6 56 V 76 v
37 7 57 W 77 w
38 8 58 X 78 x
39 9 59 Y 79 y
3A : 5A Z 7A z
3B ; 5B [ 7B
3C < 5C \ 7C |
3D = 5D ] 7D
3E > 5E ^ 7E ~
3F ? 5F ? 7F
2. PDU menerima SMS
Delapan Header untuk SMS-Terima. Kebanyakan header dibawah ini telah dibahas
sebelumnya, kecuali beberapa yang berbeda, dijelaskan di bawah ini:
a. No SMS-Centre.
b. Tipe SMS untuk SMS-Terima = 04
c. Nomor handphone pengirim.
22
d. Bentuk SMS.
e. Skema encoding.
f. Tanggal ,waktu dan time zone SMS di SMS-Centre
Diwakili oleh 12 bilangan heksa (6 pasang) yang berarti:yy/mm/dd
hh:mm:ss Contoh: 207022512380 01/07/22 15:32:08 22 Juli 2002 15:32:08
WIB
g. Batas validasi waktu jika tidak dibatasi maka bisa dihilangkan
h. Isi SMS.
2.12 AT Command [9]
Dibalik tampilan menu Message pada sebuah handphone sebenarnya adalah AT
Commmand yang bertugas mengirim atau menerima data ke atau dari SMS-Centre.
AT Command tiap-tiap SMS device bisa berbeda-beda, tapi pada dasarnya sama.
a. AT Command untuk Komunikasi Port
AT Command sebenarnya hampir sama dengan perintah prompt pada DOS.
Perintah-perintah yang dimasukkan ke port dimulai dengan kata AT, lalu diikuti
oleh karakter lainnya, yang memiliki fungsi-fungsi unik.
b. AT Command untuk Komunikasi dengan SMS-Centre
AT Command untuk SMS biasanya diikuti oleh data I/O yang mewakili oleh unit
unit PDU. Beberapa AT Command yang penting untuk SMS yaitu sebagai berikut:
1. AT+CMGS berfungsi untuk mengirim SMS
Dalam penulisannya adalah AT+CMGS=n, n adalah pasangan heksa PDU
SMS dimulai setelah nomor SMS-Centre (maksimal 140)
23
2. AT+CMGL berfungsi untuk memeriksa SMS
Dalam penulisannya adalah AT+CMGL= n, dimana n adalah:
a) n = 0 untuk SMS Baru di Inbox
b) n = 1 untuk SMS Lama di Inbox
c) n = 2 untuk SMS Unsent di Outbox
d) n = 3 untuk SMS Sent di Outbox
e) n = 4 untuk SMS semua SMS
3. AT+CMGD berfungsi untuk menghapus SMS
Dalam penulisannya adalah AT+CMGD=n. dimana n adalah nomor referensi
SMS yang ingin dihapus.
2.13 Pemrograman Visual Basic
Visual Basic merupakan salah satu bahasa pemrograman yang berorientasi pada
obyek (Object Oriented Programming). Salah satu kehandalan Visual Basic adalah
pembuatan aplikasi Graphical User Interface (GUI). Dalam pembuatan tampilan
userinterfacenya relatif mudah dilakukan karena hanya perlu diletakkan obyek-obyek
grafis ke lembar (form) yang telah disediakan, setelah itu hanya perlu pengaturan properti
dan obyek-obyek tersebut menurut kreatifitas pemrogram seperti gambar 2.11 [10] :
Gambar 2.11 Visual Basic IDE (Integrated Development Environment)
24
2.13.1 Tampilan Awal Pada Visual Basic
Pada tahap awal penggunaan Visual Basic, akan menampilkan tampilan ToolBox,
ToolBar, Properties dan Form Layout. Gambar 2.8 Visual Basic IDE (Integrated
Development Environment) .IDE merupakan bidang kerja tempat progammer membuat
aplikasi. Di dalam IDE antara lain terdapat Programming Tools, Toolbox Controls, Form
Windows,Properties Windows, Project Windows, Code Windows, Immediate Windows,
Form Layout Windows dan Online Help Systems [10].
2.13.2 Toolbar
ToolBar adalah tombol-tombol yang mewakili suatu perintah tertentu dari Visual
Basic. Setiap tombol tersebut dapat langsung diklik untuk melakukan perintah tertentu.
Tombol-tombol dan perintah-perintah yang sering digunakan dalam Visual Basic terdapat
dalam Toolbar seperti gambar 2.12 [10]:
Gambar 2.12 Toolbar
2.13.3 Form Window
Form Window atau jendela form adalah daerah kerja utama dimana akan dibuat
aplikasi-aplikasi Visual Basic. Pada form ini akan diletakkan berbagai macam objek
alternatif seperti misalnya teks, gambar, tombol-tombol perintah, scrollbar, dan
sebagainya. Jendela form pada gambar 2.13 ini pada awalnya terlihat kecil tetapi
ukurannya dapat diubah-ubah [10].
25
Gambar 2.13 Form Window
2.13.4 Toolbox
ToolBox adalah sebuah kotak piranti yang mengandung semua kotak atau kontrol
yang dibutuhkan untuk membentuk suatu program aplikasi. Kontrol adalah suatu objek
yang akan menjadi interface penghubung antara program aplikasi dan penggunanya, dan
kesemuanya harus diletakkan dalam jendela form. Apabila pertama kali menjalankan
Visual Basic, maka ToolBox akan ditampilkan di sebelah kiri layer dan berisi objek-objek
standar yang akan muncul setiap Visual Basic dijalankan. Objek kontrol ini terdapat pada
semua versi dari Visual Basic 6.0 seperti pada gambar 2.14 [10] :
Gambar 2.14 Toolbox
26
2.13.5 Project Explorer
Jendela Project Explorer adalah jendela yang mengandung semua file di dalam
apikasi Visual Basic disebut dengan istilah project (proyek), dan setiap proyek bisa
mengandung lebih dari satu file. Pada Project Explorer ditampilkan semua file yang
terdapat pada aplikasi (proyek), misalnya form, modul, class, dan sebagainya seperti
gambar 2.15 [10] :
Gambar 2.15 Project Explorer
2.13.6 Properties Window
Jendela Properties adalah jendela yang mengandung semua informasi mengenai
obyek, seperti nama, warna, ukuran, posisi, dan sebagainya. Setiap objek sebagian besar
memiki properties yang sama, tetapi ada pula yang berbeda-beda. Melalui jendela
properties ini dapat diatur bentuk dan karakteristik dari setiap obyek. Bagian paling atas
dari jendela properties ini terdapat kotak yang dapat menunjukkan nama obyek yang
sedang aktif, sedangkan propertinya ditampilkan dibagian bawah dari jendela properties
tersebut seperti terlihat pada gambar 2.16 [10] :
Gambar 2.16 Properties Window
27
2.13.7 Form Layout Windows
Form Layout Windows adalah jendela yang menggambarkan posisi dari setiap
form yang ditampilkan pada layar monitor. Posisi form pada Form Layout Windows inilah
yang merupakan petunjuk dimana aplikasi yang dibuat akan ditampilkan pada layar
monitor akan dijalankan. Pengaturan letak aplikasi tersebut dapat diatur pada properties
form maupun code window seperti terlihat pada gambar 2.17 [10]:
Gambar 2.17 Layout Windows
2.13.9 Komunikasi Serial Pada Visual Basic
Pada komunikasi serial pada Visual Basic digunakan custom control yaitu
communication control. Sintaks yang digunakan pada Visual Basic antara lain yaitu [8]:
1. [Variabel] = Comm1.Input: Membaca karakter-karakter dari buffer penerima dan
dimasukkan variabel.
2. Comm1.Output = [Variabel]: Mengirimkan karakter-karakter yang terdapat pada
variabel melalui port Comm1. Pada prosedur penerimaan data secara serial
digunakan kode program sebagai berikut:
a. Comm1.CommPort = 1, perintah ini digunakan untuk menginisialisasi
penggunaan port com1 dengan nama “Comm1”
28
b. Comm1.Settings = „9600,N,8,1”, perintah ini digunakan untuk mengeset
port com1dengan parameter sebagai berikut:
1) Angka pertama menunjukkan kecepatan transmisi data 9600 baud.
2) N (none) menunjukkan tidak ada paritas yang digunakan.
3) Angka ketiga menunjukkan jumlah bit yang dikirim dalam 1 karakter
yaitu 8 bit.
4) Angka terakhir menunjukkan bit akhir (stop bit) dalam satu karakter.
3. Comm1. InputLen = 0, perintah ini digunakan untuk menyatakan banyaknya
karakter yang akan dibaca jika input digunakan.
4. Comm1.PortOpen = True, perintah ini digunakan untuk membuka (true) atau
menutup (false) port Comm1. Sedangkan pada prosedur pengiriman data
digunakan kode program sebagai berikut:
a. Comm1.CommPort = 1
b. Comm1.Settings = „9600,N,8,1”
c. Comm1.InputLen = 0
d. Comm1.PortOpen = True
e. Comm1.OutputLen = “Data yang akan dikirim”
f. Comm1.PortOpen = False
29
BAB III
RANCANGAN PENELITIAN
3.1 Diagram Blok Sistem Keamanan Ruangan
Sistem keamanan ruangan dapat digambarkan dalam diagram blok seperti pada
gambar 3.1:
uC
Sensor Suhu1
Sensor Suhu 2
Limit Switch Pintu
Limit Switch
Jendela
Keypad
LCD
Buzzer
Driver Solenoide
RS 232 PC Webcam
Hp
Driver Pompa
3.1. Diagram Blok Sistem Keamanan Ruangan
3.1.1 Limit Switch
Limit switch NO (Normally Open) pada sistem keamanan ruangan digunakan
sebagai penanda buka dan tutup pintu atau jendela. Pada saat limit switch akan terbuka
mengindikasikan pintu atau jendela terbuka sebaliknya pada saat limit switch tertutup
mengindikasikan pintu atau jendela tertutup. Rangkaian yang digunakan terlihat pada
gambar 3.2 dibawah :
30
SW Jendela1 2
SW Pintu1 2
To uC PA4
To uC PA5
Gambar 3.2 Rangkaian Limit Switch
3.1.2 Keypad
Keypad yang digunakan pada sistem keamanan ruangan ini adalah keypad matrik
4x4. Fungsi penggunaan keypad untuk memasukan password pembuka akses masuk
ruangan. Rangkaian keypad yang digunakan seperti gambar 3.3 dibawah :
Gambar 3.3 Rangkaian Keypad Matrik 4x4
3.1.3 Rangkaian Mikrokontroler
Pada rangkaian mikrokontroler seperti pada gambar 3.4, port yang digunakan
adalah port A, port B, port C dan port D. Port A digunakan sebanyak 4 buah. Pin PA0
digunakan untuk input sensor suhu 1, pin PA1 digunakan untuk input sensor suhu 2, pin
PA2 digunakan sebagai input limit switch jendela sedangkan pin PA3 digunakan sebagai
input limit switch pintu.
SW11 2
SW21 2
SW31 2
SW41 2
SW51 2
SW61 2
SW71 2
SW81 2
SW91 2
SW101 2
SW111 2
SW121 2
SW131 2
SW141 2
SW151 2
SW161 2
uC PB8
uC PB0
uC PB6uC PB7
uC PB1
uC PB5
uC PB2uC PB3uC PB4
31
Port B digunakan sebagai input dari keypad matrik 4x4 yang berfungsi untuk
memasukan kode untuk membuka akses masuk ruangan. Port A yang digunakan
sebanyak 8 pin yaitu PA0 sampai PA7. Pin PB5, PB6 dan PB 7 dihubungkan dengan JP 1
(programming) yang berfungsi untuk memprogram mikrokontroler melalui Bascom
AVR.
Port C digunakan untuk pengiriman data ke LCD. Karena pengiriman data LCD
dilakukan secara 4 bit maka menggunakan PC4, PC5, PC6 dan PC7. Pada pin PC2
digunakan sebagai sinyal sinkronisasi LCD sedangkan pin PC0 digunakan sebagai jalur
kontrol read atau write data LCD. Port D digunakan sebanyak 6 buah. Pin PD2 dan PD3
digunakan untuk pengiriman dan penerimaan data serial. Pin PD5 dan PD6 digunakan
sebagai output driver solenoid dan driver pompa, sedangkan pin PD7 digunakan sebagai
keluaran buzzer.
Gambar 3.4 Rangkaian Mikrokontroler
Untuk mendapat nilai resistor yang terdapat pada rangkaian mikrokontroler
dicari dengan cara sebagai berikut :
VCC
VCC
VCC
VCC
D4
LED
R9220
R4
220
R5 10K
R6
10K
X1
11.0592MC1
30pFC230pF
U1
ATMEGA 8535
12345678
9
12
13
1415161718192021
2223242526272829
30
3334353637383940
32
1131
10
PB0PB1PB2PB3PB4PB5(MOSI)PB6(MISO)PB7(SCK)
RST
XTAL 2
XTAL 1
PD0PD1PD2PD3PD4PD5PD6PD7
PC0PC1PC2PC3PC4PC5PC6PC7
AVCC
PA7PA6PA5PA4PA3PA2PA1PA0
AREF
GNDGND
VCC
C3104
SW1
RESET
12
C4
104
LS2
BUZZER
1
2
Q6
FCS 901232
1
C5104
R11K
J1Prog
12345
Sensor Suhu 1Sensor Suhu 2
Switch PintuSwitch Jendela
Pin 14 LCDPin 13 LCDPin 12 LCDPin 11 LCD
Pin 6 LCD
Pin 4 LCD
Driv er Solenoide
RXTX
P1 K
eyp
ad
P2 K
eyp
ad
P3 K
eyp
ad
P4 K
eyp
ad
P5 k
eyp
ad
P6 K
eyp
ad
P7 K
eyp
ad
P8 k
eyp
ad
Driv er Pompa
Tx Hp
Rx Hp
32
sesuai dengan datasheet LED, tegangan forward pada LED adalah sebesar 1.5 volt
sehingga tegangan resistor (VR) yang dihubungkan seri dengan LED adalah:
VR = VCC - VLED (3.1)
= 5 – 1.5 = 3.5 volt
Arus forward maksimum yang dapat mengalir pada LED adalah sebesar 20 mA
sehingga apabila digunakan arus forward LED sebesar 15 mA, maka didapat nilai
dan sebagai berikut:
dan = VR / Iforward LED (3.2)
= 3.5 V / 15 mA = 220 Ω
3.1.4 LCD
LCD pada sistem keamanan ruangan ini digunakan untuk menampilkan status
sistem keamanan yaitu kondisi aman dan tidak aman disamping itu juga digunakan untuk
sebagai penampil masukan password dari keypad. Rangkaian LCD yang digunakan
membutuhkan 1 buah potensiometer seperti terlihat pada gambar 3.5 dibawah :
VCC
Pot5K
13
2
LCD
12345678910
11
12
13
14
15
16
uC PC7uC PC6uC PC5uC PC4uC PC2uC PC1uC PC0
Gambar 3.5 Rangkaian LCD
33
3.1.5 Rangkaian RS 232
Komunikasi serial pada mikrokontroler ATMega 8535 dilakukan melalui port D2
dan port D3. Untuk melakukan pengiriman data digunakan pin ke-16, yaitu pin PD2
sedangkan untuk melakukan penerimaan data digunakan pin ke-17, yaitu pin PD3.
Untuk membangun hubungan komunikasi data serial memerlukan suatu kecepatan
data ( data transfer rate ) yang sesuai, baik di sisi komputer maupun di sisi
mikrokontroler. Oleh karena itu, diperlukan proses inisialisasi di sisi mikrokontroler.
Masukan TTL pada MAX232 ada dua, yaitu T1IN dan T2IN. Pada perancangan
dipilih T1IN sebagai masukan tegangan TTL dari mikrokontroler, yaitu data yang akan
dikirim. Sedangkan keluaran TTL pada MAX 232 juga ada dua saluran, yaitu R1OUT
dan R2OUT. Pada perancangan dipilih R1OUT sebagai jalur data yang diterima oleh
mikrokontroler. Sedangkan masukan dan keluaran yang terhubung dengan port serial
dihubungkan dengan pin T1OUT dan R1IN. Ground pada rangkaian dengan ground pada
komputer dihubungkan, agar referensi tegangan antar kedua perangkat sama sehingga
data dapat diterima dan dikirim dengan acuan yang sama.
Fungsi kapasitor pada rangkaian pengubah level tegangan TTL ke level tegangan
RS232, yaitu sebagai kapasitor ekternal untuk voltage doubler. Masing-masing kapasitor
digunakan sebagai berikut :
1. C1 + sebagai kapasitor “+” internal voltage doubler.
2. C1 – sebagai kapsitor “+” internal voltage doubler.
3. C2 + sebagai kapasitor “+” internal voltage inverter.
4. C2 – sebagai kapasitor “-“ internal voltage inverter.
Nilai – nilai kapasitor yang digunakan sesuai dengan nilai-nilai yang tertera pada
datasheet MAX232. Bila nilai C1 dan C2 dinaikan, maka akan mengurangi nilai
34
impedansi masukan rangkaian voltage doubler dan inverter. Bila nilai C3 dan C4
dinaikkan, maka akan mengurangi riak catu daya.
Untuk dapat terjadi komunikasi antara port serial DB9 dengan komputer terlebih
dahulu dilakukan pengubahan level tegangan dari level tegangan TTL yang hanya
mempunyai kondisi tegangan positif hingga nol ke level tegangan RS232 yang mampu
menghasilkan tegangan keluaran positif, negatif, dan nol. Level tegangan RS232 ini
diperlukan karena komputer tidak dapat membaca data yang dikirimkan jika hanya
mempunyai tegangan positif dan nol. Pengubahan level tegangan ini dapat dilakukan
dengan menambahkan IC MAX232 antara port serial DB9 dan serial port pada komputer.
Gambar 3.6 merupakan rangkaian RS 233
VCC
U2
Max 232
8137
14
615
216
5
3
4
1
1110129
R2INR1INT2OUTT1OUT
V-GND
V+VCC
C2-
C1-
C2+
C1+
T1INT2IN
R1OUTR2OUT
C9
C
C7
1uF
C8
1uF
C6
1uF
uC PD2
uC PD3
Rx DB9Tx DB9
Gnd DB9R
x H
pT
x G
pG
nd H
p
Gambar 3.6 Rangkaian RS 232
3.1.6 Rangkaian Driver
Untuk menghubungkan mikrokontroler dengan solenoid atau pompa diperlukan
suatu rangkaian driver. Rangkaian driver yang digunakan terlihat pada gambar 3.7
sebagai berikut:
35
+5V
+12V
+5V
+12V
uC PD.6uC PD.5
Q2
FCS 90121
23
Q1
FCS 90121
23R1 470
R2 470
R3 400
R4 10
Q3
TIP 311
23
Q4TIP 311
23
D1
DIODE
D2
DIODE
C1
104
C2104
K3
Solenoide 12V12
K4
Pompa12
Gambar 3.7 Rangkaian Driver
Rangkaian driver menggunakan transistor FCS 9012 dan TIP 31. Pada saat keluaran
mikrokontroler dalam kondisi low maka transistor FCS 9012 akan on dan mengalirkan
arus menuju mikrokontroler dan resistor R2. Besarnya arus maksimum yang bisa diterima
mikrokontroler 20mA, dalam perancangan rangkaian driver ini besarnya arus yang akan
diterima mikrokontroler sebesar 10mA. Besarnya nilai R1 sesuai dengan rumusan 2.2
adalah:
, R1 dipasang
Dengan bekerjanya transistor FCS 9012 maka akan membuat transistor TIP 31
bekerja sehingga motor dan solenoid on. Jika besarnya hambatan solenoid maka
besarnya nilai sesuai dengan rumusan 2.3 adalah :
, R3 dipasang dan
36
Jika besarnya hambatan motor sebesar maka besarnya nilai sesuai dengan
rumusan 2.3 adalah :
Diode disini digunakan untuk memproteksi transistor agar tidak rusak karena
adanya tegangan yang dihasilkan solenoid atau pompa pada saat transistor dalam kondisi
off.
3.1.7 Spesifikasi PC dan Webcam
Spesifikasi PC yang digunakan dalam sistem keamanan ruangan ini terdiri dari
sebuah PC dan webcam. Komputer yang digunakan mempunyai spesifikasi sebagai
berikut : AMD 2GHz, 1 Gb RAM, Windows XP Profesional SP2. Webcam yang
digunakan adalah Genius Look 316.
3.2 Perancangan Perangkat Lunak
Perancangan perangkat lunak pada tugas akhir ini terdiri dari perancangan program
utama, perancangan program pengecekan program SMS masuk ke server, perancangan
program turnon sistem, perancangan program send password dan perancangan program
pengecekan kondisi sensor.
3.2.1 Perancangan Program Utama
Pada saat sistem keamanan dihidupkan sistem akan berada dalam kondisi idle yaitu
sistem tidak akan membaca input dari sensor suhu1, sensor suhu2 dan dari limit switch
dari pintu dan jendela Gambar 3.8 adalah flowchart perancangan program utama.
Program ini terdiri dari beberapa subrutin program yang akan dibuat. Perancangan
program utama ini terdiri dari inisialisasi yang dilanjutkan dengan pengecekan SMS
masuk ke server.
37
START
PA0 = Sensor Suhu 1
PA1 = Sensor Suhu 2
PA4 = Switch Pintu
PA5 = Switch Jendela
PB = Keypad
Port C untuk LCD
PD2 = Rx serial
PD3 = Tx Serial
PD0 = Rx to Hp
PD1 = Rx to Hp
PD5 = Driver Solenoide
PD6 = Driver Pompa
PD7 = Buzzer
Cek SMS Masuk
Cek kondisiSend PasswdTurnon Sist
Gambar 3.8 Flowchart Program Utama
3.2.1.1 Perancangan Program Pengecekan SMS Masuk Server
Program pengecekan SMS masuk server dirancang untuk pengecekan isi pesan
masuk terakhir pada handphone server C55 yang akan diolah oleh mikrokontroler.
Nomor HP yang dikenali sebagai user adalah 085643016776. Flowchart program
pengecekan SMS masuk server terlihat pada gambar 3.9 dibawah:
38
START
Sistem Aktif=0
Cek No
Handphone
No Hp =
085643016776
Cek Isi SMS
Pesan =
“Turnon sist”
Pesan =
“Send passwd”
Yes
Cek SMS Masuk
Pesan =
“Cek kondisi”
Sistem Aktif=1
Pesan =
“Turnon Sist”No
Turnon Sistem Send Password
Cek kondisi
Sensor
YesYes Yes
LCD
“No Tidak Dikenal”
LCD
“Pesan Tidak Dikenal”
Send SMS
“Sistem Aktif”
Send SMS
“Sistem Aman”
No
No
No
Yes
Send SMS
“Sistem Idle”
LCD
Pesan = Cek Kondisi
Yes
No
Gambar 3.9 Flowchart Program Pengecekan SMS Masuk Server
Pengecekan pesan pada program ini dilakukan dengan cara sebagai berikut :
1. Pengecekan nomor handphone pengirim pesan
Pada proses ini dilakukan pengecekan nomer handphone pengirim pesan.
Apabila nomor handphone pengirim pesan sesuai dengan nomor user maka akan
dilanjutkan ke proses pengecekan isi pesan sedangkan apabila nomer handphone
tidak sesuai dengan nomor handphone user maka pesan akan diabaikan dan
39
akan ditampilkan dalam LCD “No tidak dikenal” dan akan dilakukan
pengecekan ulang SMS masuk pada server.
2. Pengecekan isi pesan
Pada proses ini dilakukan pengecekan isi pesan yang diterima oleh server. Isi
pesan yang akan diolah oleh mikrokontroler sebagai berikut :
1) Pesan “Turnon sist” adalah pesan untuk mengaktifkan sistem. Hal ini
dilakukan sesaat setelah user keluar dari ruangan
2) Pesan “Send passwd” adalah pesan untuk meminta kiriman password ke
server. Password digunakan untuk membuka ruangan.
3) Pesan “Cek kondisi” adalah pesan untuk mengecek kondisi ruangan. Hal ini
lebih untuk meyakinkan user bahwa sistem bekerja dengan baik karena
sistem memberikan respon dengan mengirim SMS balasan “Sistem aman”.
3.2.1.2 Perancangan Program Turnon Sistem
Program turnon sistem dirancang untuk melakukan proses pengaktifan sistem
(sistem tidak dalam kondisi idle) sehingga sistem akan membaca input dari sensor suhu1,
sensor suhu2, limit switch pintu dan jendela. Untuk bisa mengaktifkan sistem pintu dan
jendela harus dalam kondisi tertutup oleh karena itu akan dilakukan pengecekan pintu dan
jendela. Apabila kondisi pintu atau jendela terbuka maka akan dilakukan pengiriman
SMS ke user sesuai dengan kondisi pintu atau jendela yang terbuka seperti terlihat pada
perancangan program turnon sistem pada gambar 3.10 dibawah :
40
START
Cek Pintu
Jendela
Buka
Pintu
Buka
Cek Jendela
Kirim SMS
“Pintu Buka”
Kirim SMS
“Jendela Buka”
No
LCD
“Sistem Aktif”
Solenoide On
Kirim SMS
“Sistem AKtif”
Sistem Aktif=1
Cek Kondisi
Sensor
No
RETURN
Sistem Aktif=0
C=0 (sms pintu)
D=0 (sms jendela)
C=1Yes
D=1
C=1
D=1
No
Yes No
Yes
Yes
Gambar 3.10 Flowchart Turnon Sistem
3.2.1.3 Perancangan Program Send Password
Program send password dirancang untuk melakukan proses pengiriman pesan yang
berisi password akses masuk ruangan. User meminta server untuk mengirim password
dan server segera akan mengirim password ke user. Password yang dikirimkan sesuai
dengan database password. Password yang ada dalam database sebanyak 12 password
dan setiap password mempunyai 8 karakter angka yang kombinasinya telah ditentukan.
Setelah adanya pengiriman password maka user akan memasukan password melalui
keypad yang dilakukan dengan cara berikut:
1. Untuk membuka akses ruangan user akan memasukan password melalui keypad
matrik 4x4 sesuai password yang diterima user yang dikirimkan oleh server.
41
2. Setelah password yang dimasukan berjumlah 8 karakter maka dilakukan
proses pengecekan password yang dimasukan oleh user untuk mengetahui apakah
password yag dimasukkan sama dengan password yang dikirimkan server kepada
user atau tidak. Apabila password yang dimasukan user sama dengan password yang
dikirimkan server kepada user maka solenoid akan off dan akses pintu akan terbuka.
Sebaliknya jika tidak sesuai maka solenoid akan tetap On dan user diminta untuk
melakukan proses memasukan kode kembali.Flowchart program send password
terlihat seperti gambar 3.11 di bawah :
Gambar 3.11 Flowchart Program Send Password
START
Kode_pass =
"11111111", "12587965",
"41525657", "44587964"
"58795422", "57841264",
"45879312", "55874961"
"58793645", "51247896",
"58746875", "54785125"
Pass(8) = Password
Rcv(8) = Kode Masukan
Result = Jumlah Karakter
Pass(a) = Rcv(a)
Num = Look Up Keypad
B=0
Send SMS =
Kode_pass(B)
B=12
Incr B
No
Yes
Ambil Data Keypad=
Getkbd()
Cek data keypad =
Look Up
Tulis LCD 2,1
LCD= num
Next A
Cek A
A=8
Rcv(8)=pass(8)
LCD “Akses Open”
LCD “Error”
Yes
Yes
No
No
C=0
Rcv=Rcv+num
Solenoide Off
Stop Record
Webcam
Matikan Buzzer
RETURN
Sistem Aktif=0
42
3.2.1.4 Perancangan Program Pengecekan Kondisi Sensor
Program pengecekan kondisi sensor dirancang untuk mengecek kondisi sensor yang
terdiri dari sensor suhu LM35, limit switch pada pintu dan jendela yang akan digunakan
sebagai pemicu aktifnya buzzer, hidupnya pompa dan pengiriman pesan ke user pada saat
salah satu sensor aktif sesuai dengan kondisi yang terjadi pada ruangan. Proses
pengiriman pesan akan dilakukan dalam masing- masing kondisi danger sebanyak 1 kali
selama sistem dalam kondisi aktif.
Gambar 3.12 adalah flowchart pengecekan kondisi sensor. Sensor suhu LM 35
yang digunakan pada sistem keamanan ruangan sebanyak 2 buah, hal ini dimaksudkan
dalam pengambilan data suhu pada ruangan agar lebih akurat karena digunakan 2 buah
sensor yang diletakkan berlainan tempat. Cara kerja sensor suhu dalam sistem ini adalah
apabila salah satu dari sensor mendeteksi suhu ≥40 maka sistem akan berada dalam
kondisi danger suhu.
Berdasarkan data dari harian Kompas Jogja suhu udara pada siang hari pernah
mencapai [11]. Hal ini mendasari batasan suhu maksimum ruangan dalam kondisi
normal. Untuk suhu ruangan ≥ akan dikondisikan ruangan dalam kondisi tidak aman
atau telah terjadi kebakaran yang akan memicu hidupnya pompa.
43
START
Baca Sensor 1
Cek Kondisi Jendela
Jendela BukaTampilkan LCD
“Danger Suhu”
Kirim SMS
“Danger Suhu”
Tampilkan LCD
“Danger Jendela”
Cek Kondisi Pintu
Pintu Buka
Tampilkan LCD
“Danger Pintu”
Kirim SMS
“Danger Jendela”
Kirim SMS
“Danger Pintu”
Buzzer On
RETURN
Yes
Yes
Suhu ≥ 40
Pompa Off
No
Webcam Record
Pompa On
Baca Sensor 2
Suhu ≥ 40
No
Yes
Yes
No
E=1
No
E=1
F=1
Yes
F=1
G=1
G=1
No
Buzzer On
Webcam Record
Buzzer On
Webcam Record
Yes
E=0 (SMS Danger Suhu )
F=0 (SMS Danger Jendela)
G=0 (SMS Danger Pintu)
Tampilkan LCD
“Sistem Aman”No
Yes
Gambar 3.12 Flowchart Program Pengecekan Kondisi
44
3.2.2 Perancangan PDU Pengiriman Pesan
Untuk mengirimkan pesan melalui HP C55 ke nomor user 6285643016776 yang
menggunakan operator seluler Im3 diperlukan AT Command yang dikombinasikan
dengan PDU seperti terlihat dalam tabel 3.1 sebagai berikut
Tabel 3.1 Tabel Pengiriman SMS
No Header Digit Oktet atau Heksa
1 Jumlah pasangan digit dari nomor SMSC 71
2 Jenis nomor SMSC (internasional) 91
3 Nomor SMSC 2658050000F0
4 Tipe SMS 11
5 Nomor referensi 00
6 Panjang digit nomor penerima 0D
7 Jenis nomor penerima 91
8 Nomor penerima SMS 265846036177F6
9 Bentuk SMS 00
10 Skema encoding 00
11 Batas waktu pengiriman FF
12 Panjang pesan dalam heksa Tergantung isi pesan
13 Isi pesan
Pengkodean karakter pesan yang dikirimkan dalam format 7 bit adalah sebagai berikut
1. Pengkodean pesan “Sistem idle” terlihat pada tabel 3.2
Tabel 3.2 Kode PDU Pesan “Sistem idle”
Char S i s t e m space i d l e
Hex 53 69 73 74 65 6D 20 69 64 6C 65
Septet 101
0011
110
1001
111
0011
111
0100
110
0101
110
1101
010
0000
110
0100
110
1100
110
1100
110
0101
8-bit 1101
0010
1111
0100
1001
1100
0101
1110
0110
1110
1000
0011
1101
0010
0110
0100
0111
0110
0001
1100
Oktet D3 F4 9C 5E 6E 83 D2 64 76 19
Panjang pesan 0B
AT Command
PDU
AT+CMGS=25
07912658050000F011000D91265846036177F60000FF0BD3F
49C5E6E83D2647619
45
2. Pengkodean pesan “Sistem aman” terlihat pada tabel 3.3
Tabel 3.3 Kode PDU Pesan “Sistem aman”
Char S i s t e m space a m a n
Hex 53 69 73 74 65 6D 20 61 6D 61 6E
Septet 101
0011
110
1001
111
0011
111
0100
110
0101
110
1101
010
0000
110
0001
110
1101
110
0001
110
1110
8-bit 1101
0010
1111
0100
1001
1100
0101
1110
0110
1110
1000
0011
1100
0011
1110
1101
1011
0000
0001
1011
Oktet D3 F4 9C 5E 6E 83 C2 ED B0 1B
Panjang pesan 0B
AT Command
PDU
AT+CMGS=25
07912658050000F011000D91265846036177F60000FF0BD3F
49C5E6E83C2EDB01B
3. Pengkodean pesan “Sistem aktif” terlihat pada tabel 3.4
Tabel 3.4 Kode PDU Pesan “Sistem aktif”
Char S i s t e m space a k t i f
Hex 53 69 73 74 65 6D 20 61 6B 74 69 66
Septet 101
0011
110
1001
111
0011
111
0100
110
0101
110
1101
010
0000
110
0001
110
1011
111
0100
110
1001
110
0110
8-bit 1101
0010
1111
0100
1001
1100
0101
1110
0110
1110
1000
0011
1100
0011
0110
1011
0111
1010
1101
1010
0000
1100
Oktet D3 F4 9C 5E 6E 83 C2 6B 7A DA 0C
Panjang pesan 0C
AT Command
PDU
AT+CMGS=26
07912658050000F011000D91265846036177F60000FF0CD3F49C5E
6E83C26B7ADA0C
4. Pengkodean pesan “Jendela buka” terlihat pada tabel 3.5
Tabel 3.5 Kode PDU Pesan “Jendela buka”
Char J e n d e l a sapce b u k a
Hex 4A 65 6E 64 65 6C 61 20 62 75 6B 61
Septet 100
1010
110
0101
110
1110
110
0100
110
0101
110
1100
110
0001
010
000
110
0010
111
0101
110
1011
110
0001
8-bit 1100
1010
1011
0010
1001
1011
0101
1100
0110
0110
0110
0110
1000
0111
0100
0001
1110
0010
1111
1010
0011
1010
0000
1100
Oktet CA B2 9B 5C 66 87 41 E2 F4 3A 0C
Panjang pesan 0C
AT Command
PDU
AT+CMGS=26
07912658050000F011000D91265846036177F60000FF0CCAB29B5C6
68741E2F4340C
46
5. Pengkodean pesan “Pintu buka” terlihat pada tabel 3.6
Tabel 3.6 Kode PDU Pesan “Pintu buka”
Char P i n t u space b u k a
Hex 50 69 6E 74 75 20 62 75 6B 61
Septet 101
0000
110
1001
110
1110
111
0100
111
0101
010
0000
110
0010
111
0101
110
1011
110
0001
8-bit 1101
0000
1011
0100
1001
1011
0101
1110
0000
1001
1000
1001
1110
1011
1110
1011
0011
0000
Oktet D0 B4 9B 5E 07 89 EB EB 30
Panjang pesan 0A
AT Command
PDU
AT+CMGS=24
07912658050000F011000D91265846036177F60000FF
0AD0B49B5E0789EBEB30
6. Pengkodean pesan “Danger suhu” terlihat pada tabel 3.7
Tabel 3.7 Kode PDU Pesan “Danger suhu”
Char D a n g e r space s u h u
Hex 44 61 6E 67 65 72 20 73 75 68 75
Septet 100
0100
110
0001
110
1110
110
0111
110
0101
111
0010
010
0000
111
0011
111
0101
110
1000
111
0101
8-bit 1100
0100
1011
0000
1111
1011
0101
1100
1001
0110
1000
0011
1110
0110
0111
0101
0111
0100
0001
1101
Oktet C4 B0 FB 5C 96 83 E6 75 74 1D
Panjang pesan 0B
AT Command
PDU
AT+CMGS=25
07912658050000F011000D91265846036177F60000FF0BC4
B0FB5C9683E675741D
7. Pengkodean pesan “Danger pintu” terlihat pada tabel 3.8
Tabel 3.8 Kode PDU Pesan “Danger pintu”
Char D a n g e r space p i n t u
Hex 44 61 6E 67 65 72 20 70 69 6E 74 75
Septet 100
0100
110
0001
110
1110
110
0111
110
0101
111
0010
010
0000
111
0000
110
1001
110
1110
111
0100
111
0101
8-bit 1100
0100
1011
0000
1111
1011
0101
1100
1001
0110
1000
0011
1110
0000
0110
1001
0011
0111
1011
1101
0000
1110
Oktet C4 B0 FB 5C 96 83 E0 E9 37 BD 0E
Panjang pesan 0C
AT Command
PDU
AT+CMGS=26
07912658050000F011000D91265846036177F60000FF0CC4B0FB5
C9683E0E937BD0E
47
8. Pengkodean pesan “Danger jendela” terlihat pada tabel 3.9
Tabel 3.9 Kode PDU Pesan “Danger jendela”
Char D a n g e r space j e n d
Hex 44 61 6E 67 65 72 20 6A 65 6E 64
Septet 100
0100
110
0001
110
1110
110
0111
110
0101
111
0010
010
0000
110
1010
110
0101
110
1110
110
0100
8-bit 1100
0100
1011
0000
1111
1011
0101
1100
1001
0110
1000
0011
1101
0100
0110
0111
1011
1001
1100
1100
0000
1110
Oktet C4 B0 FB 5C 96 83 D4 65 37 B9 CC
Char e l a
Hex 65 6C 61
Septet 110
0101
110
1100
110
0001
8-bit 0000
1110
0000
0011
Oktet 0E 03
Panjang pesan 0E
AT Command
PDU
AT+CMGS=28
07912658050000F011000D91265846036177F60000FF0EC4B
0FB5C9683D46537B9CC0E03
9. Pengkodean pesan “11111111” terlihat pada tabel 3.10
Tabel 3.10 Kode PDU Pesan “11111111”
Char 1 1 1 1 1 1 1 1
Hex 31 31 31 31 31 31 31 31
Septet 011
0001
011
0001
011
0001
011
0001
011
0001
011
0001
011
0001
011
0001
8-bit 1011
0001
0101
1000
0010
1100
0001
0110
1000
1011
1100
1011
1100
0101
0110
0010
Oktet B1 58 2C 16 8B C5 62
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF08B1582C168BC562
48
10. Pengkodean pesan “12587965” terlihat pada tabel 3.11
Tabel 3.11 Kode PDU Pesan “12587965”
Char 1 2 5 8 7 9 6 5
Hex 31 32 35 38 37 39 36 35
Septet 011
0001
011
0010
011
0101
011
1000
011
0111
011
1001
011
0110
011
0101
8-bit 0011
0001
0101
1001
0000
1101
0111
0111
1100
1011
1101
1001
0110
1010
Oktet 31 59 0D 77 CB D9 6A
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF0831590D77CBD96A
11. Pengkodean pesan “46543227” terlihat pada tabel 3.12
Tabel 3.12 Kode PDU Pesan “46543227”
Char 4 6 5 4 3 2 2 7
Hex 34 36 35 34 33 32 32 37
Septet 011
0100
011
0110
011
0101
011
0100
011
0011
011
0010
011
0010
011
0111
8-bit 0011
0100
0101
1011
1000
1101
0011
0110
1001
0011
1100
1001
0110
1110
Oktet 34 53 8D 36 93 C9 6E
Panjang pesan 08
PDU AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF0834538D3693C96E
12. Pengkodean pesan “44587964” terlihat pada tabel 3.13
Tabel 3.13 Kode PDU Pesan “44587964”
Char 4 4 5 8 7 9 6 4
Hex 34 34 35 38 37 39 36 34
Septet 011
0100
011
0100
011
0101
011
1000
011
0111
011
1001
011
0110
011
0100
8-bit 0011
0100
0101
1010
0000
0111
0111
0111
1100
1011
1101
1001
0110
1000
Oktet 34 5A 0D 77 CB D9 68
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF08345A0D77CBD968
49
13. Pengkodean pesan “58795422” terlihat pada tabel 3.14
Tabel 3.14 Kode PDU Pesan “58795422”
Char 5 8 7 9 5 4 2 2
Hex 35 38 37 39 35 34 32 32
Septet 011
0101
011
1000
011
0111
011
1001
011
0101
011
0100
011
0010
011
0010
8-bit 0011
0101
1101
1100
0010
1101
0101
0111
1010
0011
1100
1001
0110
0100
Oktet 35 DC 2D 57 A3 C9 64
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF0835DC2D57A3C964
14. Pengkodean pesan “57841264” terlihat pada tabel 3.15
Tabel 3.15 Kode PDU Pesan “57841264”
Char 5 7 8 4 1 2 6 4
Hex 35 37 38 34 31 32 36 34
Septet 011
0101
011
0111
011
1000
011
0100
011
0001
011
0010
011
0110
011
0100
8-bit 1011
0101
0001
1011
1000
1110
0001
0110
1001
0011
1101
1001
0110
1000
Oktet B5 1B 8E 16 93 D9 68
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF08B51B8E1693D968
15. Pengkodean pesan “45879312” terlihat pada tabel 3.16
Tabel 3.16 Kode PDU Pesan “45879312”
Char 4 5 8 7 9 3 1 2
Hex 34 35 38 37 39 33 31 32
Septet 011
0100
011
0101
011
1000
011
0111
011
1001
011
0011
011
0001
011
0010
8-bit 1011
0100
0001
1010
1110
1110
1001
0110
1001
1011
1100
0101
0110
0100
Oktet B4 1A EE 96 9B C5 64
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF08B41AEE969BC564
50
16. Pengkodean pesan “55874461” terlihat pada tabel 3.17
Tabel 3.17 Kode PDU Pesan “55874461”
Char 5 5 8 7 4 4 6 1
Hex 35 35 38 37 34 34 36 31
Septet 011
0101
011
0101
011
1000
011
0111
011
0100
011
0100
011
0110
011
0001
8-bit 1011
0101
0001
1010
1110
1110
0100
0110
1100
1011
1101
1001
0110
0010
Oktet B5 1A EE 46 CB D9 62
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF08B51AEE46CBD962
17. Pengkodean pesan “58793645” terlihat pada tabel 3.18
Tabel 3.18 Kode PDU Pesan “58793645”
Char 5 8 7 9 3 6 4 5
Hex 35 38 37 39 33 36 34 35
Septet 011
0101
011
1000
011
0111
011
1001
011
0011
011
0110
011
0100
011
0101
8-bit 0011
0101
1101
1100
0010
1101
0011
0111
1011
0011
1101
0001
0110
1010
Oktet 35 DC 2D 37 B3 D1 6A
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF0835DC2D37B3D16A
18. Pengkodean pesan “51247896” terlihat pada tabel 3.19
Tabel 3.19 Kode PDU Pesan “51247896”
Char 5 1 2 4 7 8 9 6
Hex 35 31 32 34 37 38 39 36
Septet 011
0101
011
0001
011
0010
011
0100
011
0111
011
1000
011
1001
011
0110
8-bit 1011
0101
1001
1000
1000
1100
0111
0110
1100
0011
1110
0101
0110
1010
Oktet B5 98 8C 76 C3 E5 6C
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF08B5988C76C3E56C
51
19. Pengkodean pesan “58746875” terlihat pada tabel 3.20
Tabel 3.20 Kode PDU Pesan “58746875”
Char 5 8 7 4 6 8 7 5
Hex 35 38 37 34 36 38 37 35
Septet 011
0101
011
1000
011
0111
011
0100
011
0110
011
1000
011
0111
011
0101
8-bit 0011
0101
1101
1100
1000
1101
0110
0110
1100
0011
1101
1101
0110
1010
Oktet 35 DC 8D 66 C3 DD 6A
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF0835DC8D66C3DD6A
20. Pengkodean pesan “54785125” terlihat pada tabel 3.21
Tabel 3.21 Kode PDU Pesan “54785125”
Char 5 4 7 8 5 1 2 5
Hex 35 34 37 38 35 31 32 35
Septet 011
0101
011
0100
011
0111
011
1000
011
0101
011
0001
011
0010
011
0101
8-bit 0011
0101
1101
1010
0000
1101
0101
0111
1000
1011
1100
1001
0110
1010
Oktet 35 D4 0D 57 8B C9 6A
Panjang pesan 08
AT Command
PDU
AT+CMGS=22
07912658050000F011000D91265846036
177F60000FF0835D40D578BC96A
3.2.3 Perancangan Penerimaan Pesan
Perancangan penerimaan pesan dirancang untuk mengecek nomor pengirim pesan
dan isi pesan. Pesan yang dikirimkan user sebanyak 11 karakter dan user menggunakan
operator seluler Im3 dengan nomor 6285643016776. Untuk mengecek adanya pesan
masuk atau tidak pertama kali dilakukan adalah mengirimkan AT Command
“AT+CMGL=0” kemudian dilakukan pengecekan adanya PDU yang masuk atau tidak.
Format PDU yang diterima terlihat pada tabel 3.22
52
Tabel 3.22 Tabel Penerimaan PDU
No Header Digit Oktet atau Heksa
1 Jumlah pasangan digit dari nomor SMSC 71
2 Jenis nomor SMSC (internasional) 91
3 Nomor SMSC 2658050000F0
4 Tipe SMS 04
5 Panjang digit nomor pengirim 0D
6 Jenis nomor SMSC pengirim 91
7 Nomor pengirim SMS 265846036177F6
8 Bentuk SMS 00
9 Skema encoding 00
10 Tanggal waktu pengiriman time zone (xxxxxxxxxxxx82)yymmdd hh:mm:ss
11 Panjang pesan 0B
12 Isi pesan
Berikut tabel pesan yang dikirimkan oleh user dan selanjutnya akan diolah oleh
mikrokontroler sesuai dengan isi pesannya.
1. Pengkodeaan 7-bit karakter pesan “Turnon sist” terlihat pada tabel 3.23
Tabel 3.23 Kode PDU Pesan “Turnon sist”
Char T u r n o n space s i s t
Hex 54 75 72 6E 6F 6E 20 73 69 73 74
Septet 101
0100
111
0101
111
0010
110
1110
110
1111
110
1110
010
0000
111
0011
110
1001
111
0011
111
0100
8-bit 1101
0100
1011
1010
1101
1100
1111
1101
0111
0110
1000
0011
1110
0110
1110
1001
0011
1001
0001
1101
Oktet D4 BA DC FD 76 83 E6 E9 39 1D
2. Pengkodeaan 7-bit karakter pesan “Send passwd” terlihat pada tabel 3.24.
Tabel 3.24 Kode PDU Pesan “Send passwd”
Char S e n d space p a s s w d
Hex 53 65 6E 64 20 70 61 73 73 77 64
Septet 101
0011
110
0101
110
1110
110
0100
010
0000
111
0000
110
0001
111
0011
111
0011
111
0111
110
0100
8-bit 1101
0011
1011
0010
1001
1011
0000
1100
10000
010
1000
0111
1110
0111
1111
0011
0011
1011
0001
1001
Oktet D3 B2 9B 0C 82 87 E7 F3 3B 19
53
3. Pengkodeaan 7-bit karakter pesan “Cek kondisi” terlihat pada tabel 3.25
Tabel 3.25 Kode PDU Pesan “Cek kondisi”
Char C e k space k o n d i s i
Hex 43 65 6B 20 6B 6F 6E 64 69 73 69
Septet 100
0011
110
0101
110
1011
010
0000
110
1011
110
1111
110
1110
110
0100
110
1001
111
0011
110
1001
8-bit 1100
0011
1111
0010
0001
1010
1011
0100
0111
1110
1011
1011
1100
1001
1101
1001
0111
1001
0001
1010
Oktet C3 F2 1A B4 7E BB C9 E9 79 1A
54
BAB IV
HASIL PENGAMATAN DAN PEMBAHASAN
Pembuatan sistem keamanan ruangan terlihat secara fisik terbagi menjadi 2 bagian
yaitu bagian prototype ruangan dan bagian elektronis seperti pada gambar 4.1
(a)
(b)
Gambar 4.1 (a) Prototype Ruangan
(b) Bagian Elektronis
Jendela
Limit Switch Jendela
Pintu
Limit Switch Pintu
Solenoide
Pompa
Keypad Matrik 4x4
Sensor suhu 1 Sensor suhu 2
LCD
HP Server
55
Untuk membuktikan alat dapat bekerja dengan baik maka dilakukan berbagai macam
pengujian sebagai berikut
4.1 Pengujian Rutin Cek SMS Masuk
Pengujian pengolahan pesan masuk dilakukan dengan cara mengirim pesan ke
handphone C55 dengan 3 nomor pengirim yang akan direspon oleh alat seperti pada tabel
4.1
Tabel 4.1 Tabel Penerimaan Pesan dan Respon Alat
No Nomor
Pengirim
Sistem
aktif
Isi Pesan Tampilan LCD SMS diterima
User
1 081227551156 0 Turnon sist No tidak dikenal Tidak ada SMS
2 081227551156 0 Cek kondisi No tidak dikenal Tidak ada SMS
3 081227551156 0 Send passwd No tidak dikenal Tidak ada SMS
4 081392419256 0 Turnon sist No tidak dikenal Tidak ada SMS
5 081392419256 0 Cek kondisi No tidak dikenal Tidak ada SMS
6 081392419256 0 Send passwd No tidak dikenal Tidak ada SMS
7 085643016776 0 turnon sist Pesan tidak dikenal Sistem Idle
8 085643016776 0 cek kondisi Pesan tidak dikenal Sistem Idle
9 085643016776 0 send passwd Pesan tidak dikenal Sistem Idle
10 085643016776 0 Turnon sist Pesan= Aktif Tidak ada SMS
11 085643016776 0 Cek kondisi Pesan tidak dikenal Sistem Idle
12 085643016776 0 Send passwd Pesan tidak dikenal Sistem Idle
13 081227551156 1 Turnon sist No tidak dikenal Tidak ada SMS
14 081227551156 1 Cek kondisi No tidak dikenal Tidak ada SMS
15 081227551156 1 Send passwd No tidak dikenal Tidak ada SMS
16 081392419256 1 Turnon sist No tidak dikenal Tidak ada SMS
17 081392419256 1 Cek kondisi No tidak dikenal Tidak ada SMS
18 081392419256 1 Send passwd No tidak dikenal Tidak ada SMS
19 085643016776 1 turnon sist Pesan tidak dikenal Sistem Idle
20 085643016776 1 cek kondisi Pesan tidak dikenal Sistem Idle
21 085643016776 1 send passwd Pesan tidak dikenal Sistem Idle
22 085643016776 1 Turnon sist Pesan= Aktif Sistem aktif
23 085643016776 1 Cek kondisi Pesan=Cek Kondisi Sistem aman
24 085643016776 1 Send passwd Pesan=Pass 11111111
Gambar pengujian yang menunjukan tabel 4.1 dapat dilihat pada Lampiran tabel 4.1.
Berdasarkan data hasil pengujian dapat dianalisis bahwa data yang didapatkan sudah
sesuai dengan flowchart rutin cek SMS masuk yaitu
56
1. Alat dapat mengidentifkasi pengirim pesan apakah berasal dari nomor HP user atau
bukan. Jika bukan dari HP user maka seperti terlihat dari pengujian nomor 1 sampai
dengan nomor 6 dan pengujian nomor 12 sampai dengan nomor 17 yang ditandai
dengan tulisan LCD “No tidak dikenal”. Listing program berikut merupakan program
dari pengecekan nomor HP.
Pada listing program diatas perintah “AT+CMGL=0” digunakan untuk mengecek
adanya pesan masuk atau tidak. Untuk menandai adanya pesan masuk maka data yang
diterima yang diterima adalah karakter “7” sedangkan apabila tidak ada pesan yang
masuk maka data yang diterima adalah karakter “O”. Apabila ada pesan masuk maka
akan terus dilakukan proses pengambilan data dari handphone C55 sampai dengan
karakter “enter”, kemudian data yang didapatkan (pdu) akan dipisahkan menjadi
beberapa bagian diantaranya adalah nomor pengirim pesan.
Setelah didapatkan data nomor pesan maka akan dilakukan proses pengecekan
nomor pesan. Apabila nomor pesan tidak sesuai dengan nomor user (notx) maka akan
dilakukan pengecekan adanya pesan masuk atau tidak, sedangkan apabila nomor
pesan sesuai nomor user (notx) maka akan dilanjutkan dengan proses pengecekan isi
pesan.
2. Alat dapat membedakan pesan yang berisi perintah (kode) atau tidak. Hal ini terlihat
dari pengujian nomor 10 dan pengujian nomor 22 sampai dengan nomor 24. Pada
pengecekan isi pesan dibedakan menjadi 2 kondisi yaitu
57
1) Pengecekan pesan setelah sistem aktif = 0, pengecekan ini dilakukan sebelum
sistem dalam kondisi aktif (sistem dalam kondisi idle). Dalam kondisi ini pesan
yang dikenali adalah pesan “Turnon sist” seperti terlihat pada pengujian nomor
10.
2) Pengecekan pesan setelah sistem aktif = 1, pengecekan ini dilakukan setelah
sistem dalam kondisi aktif (sistem akan merespon kondisi pintu, jendela dan suhu
apabila dalam berada dalam kondisi tidak aman). Dalam kondisi ini pesan yang
dikenali adalah pesan “Turnon sist”, “Cek kondisi” dan “Send password” seperti
terlihat pada pengujian nomor 22, 23 dan 24.
Listing program berikut adalah program pengecekan isi pesan
Pada listing program diatas untuk
mengetahui isi dari pesan masuk maka dilakukan pemisahan isi pesan dari data yang
didapatkan (pdu). Setelah didapatkan data isi pesan maka akan dilakukan pengecekan
isi pesan sesuai dengan kondisi sistem berada kondisi aktif atau dalam kondisi idle (1
atau 0). Apabila pesan tidak berisi perintah maka LCD akan menampilkan tulisan
“Pesan tidak dikenal” sedangkan apabila pesan berisi perintah maka alat akan
mengolahnya sesuai dengan isi pesan yang diterima.
3. Pesan yang dikenali sistem bersifat case sensitive. Hal ini terlihat dari pengujian
nomor 7 dan pengujian nomor 19 sampai dengan nomor 21. Pesan yang dikenali
58
sistem bersifat case sensitive disebabkan karena adanya perbedaan pengkodean
karakter yang dalam kode ascii sehingga pdu isi pesan akan berbeda berbeda.
a. Karakter “t” kode ascii = 116
b. Karakter “c” kode ascii = 63
c. Karakter “s” kode ascii = 115
d. Karakter “T” kode ascii = 84
e. Karakter “C” kode ascii = 67
f. Karakter “S” kode ascii = 83
4.2 Pengujian Rutin Turnon Sistem
Pengujian ini dilakukan saat sistem berada pada kondisi idle , jika sistem menerima
sms “Turnon sist” dari user maka respon alat seperti pada tabel 4.2
Tabel 4.2 Tabel Pengecekan Kondisi Pintu dan Jendela dalam Kondisi Idle
No Kondisi
Pintu
Kondisi
Jendela
LCD Solenoide SMS diterima User
1 Tutup Tutup Sistem Aktif On Sistem aktif
2 Tutup Buka Jendela Buka Off Jendela buka
3 Buka Tutup Pintu Buka Off Pintu buka
4 Buka Buka Pintu Buka Jendela buka Off Pintu buka Jendela buka
Gambar pengujian yang menunjukan tabel 4.2 dapat dilihat pada Lampiran tabel 4.2.
Berdasarkan data hasil pengujian 4.2 dapat dianalisis bahwa data yang didapatkan sudah
sesuai dengan flowchart rutin turnon sistem yaitu
1. Sistem akan aktif dan solenoide on apabila pintu dan jendela dalam kondisi tertutup
dan akan merespon kondisi pintu dan jendela terbuka sebagai kondisi danger. Hal ini
ditandai dengan adanya tampilan LCD “Sistem Aktif” dan pengiriman pesan “Sistem
Aktif” ke user.
2. Sistem dapat mengirimkan pesan berisi kondisi pintu atau jendela ke user apabila
pintu atau jendela berada dalam kondisi terbuka.
59
3. Pengiriman pesan dilakukan secara bertahap apabila terdapat 2 kondisi tergantung
dari sequence kondisi yang terjadi pada prototype ruangan seperti terlihat pada
kondisi pengujian nomor 4.
4. Pengiriman SMS dalam rutin turnon sistem pada setiap kondisi sebanyak 1 kali, untuk
membatasi pengiriman pesan ini maka digunakan parameter H dan I sebagai penanda
pengiriman pesan telah dilakukan sebanyak 1 kali.
5. Apabila sebelumnya pintu atau jendela terbuka, kemudian tertutup dan terbuka
kembali maka tidak akan dilakukan pengiriman pesan kembali karena telah dilakukan
pengiriman pesan sebelumnya. Hal ini tentunya akan menghemat penggunaan sms.
Listing program berikut adalah program untuk rutin turnon sistem
Pada listing program diatas dilakukan pengecekan kondisi pintu dan jendela. Hasil
dari pengecekan pintu dan jendela akan ditampilkan dalam LCD dan akan dilakukan
pengiriman pesan ke user sesuai sequence kondisi terbuka pada pintu atau jendela .
60
4.3 Pengujian Rutin Pengecekan Kondisi Sensor
Pengujian ini dilakukan pada saat sistem dalam kondisi aktif dan sistem akan
merespon kondisi pintu dan jendela dalam kondisi terbuka atau suhu ruangan ≥ .
Respon sistem saat berada dalam kondisi aktif seperti terlihat pada tabel 4.3
Tabel 4.3 Tabel Respon Sistem Dalam Kondisi Aktif
No Kondisi
Pintu
Kondisi
Jendela
Suhu LCD Web
cam
Buz
zer
Pompa SMS diterima
User
1
Tutup
Tutup
Pintu tutup
Jendela tutup
Suhu
Off
Off
Off
Tidak ada SMS
2
Tutup
Tutup
Pintu tutup
Jendela tutup
Suhu
Record
On
On
Danger Suhu
3
Tutup
Buka
Pintu tutup
Jendela tutup
Suhu
Record
On
Off
Danger Jendela
4
Tutup
Buka
Pintu tutup
Jendela buka
Suhu >
Record
On
On
Danger Jendela
Danger Suhu
5
Buka
Tutup
Pintu buka
Jendela tutup
Suhu
Record
On
Off
Danger Pintu
6
Buka
Tutup
Pintu buka
Jendela tutup
Suhu
Record
On
On
Danger Pintu
Danger Suhu
7
Buka
Buka
Pintu buka
Jendela buka
Suhu
Record
On
Off
Danger Pintu
Danger Jendela
8
Buka
Buka
Pintu buka
Jendela buka
Suhu
Record
On
On
Danger Pintu
Danger Jendela
Danger Suhu
Gambar pengujian yang menunjukan tabel 4.3 dapat dilihat pada Lampiran tabel 4.3.
Berdasarkan data hasil pengujian dapat dianalisa bahwa data yang didapatkan sesuai
dengan flowchart rutin pengecekan kondisi sensor yaitu
61
1. Sistem dapat mengirimkan pesan ke user yang berisi informasi keadaan yang terjadi
pada prototype ruangan, menghidupkan buzzer dan webcam akan record apabila
terjadi kondisi danger pada prototype ruangan.
2. Pengiriman pesan dilakukan secara bertahap apabila terdapat 2 atau 3 kondisi danger
yang terjadi pada prototype ruangan tergantung dari sequence kondisi danger yang
terjadi pada prototype ruangan seperti terlihat pada kondisi pengujian nomor 4, 6 , 7
dan 8.
3. Pengiriman SMS dalam rutin pengecekan kondisi sensor pada setiap kondisi danger
hanya dikirimkan sebanyak 1 kali, untuk membatasi pengiriman pesan ini maka
digunakan parameter E, F dan G sebagai penanda pengiriman pesan telah dilakukan
sebanyak 1 kali.
4. Apabila suhu udara pada prototype ruangan , sistem selain mengirimkan pesan
“Danger suhu” sistem juga menghidupkan pompa sampai kondisi suhu .
Apabila suhu ruangan kembali meningkat mencapai sistem tidak
mengirimkan kembali pesan “Danger suhu” tetapi sistem akan menghidupkan pompa
akan hidup sampai kondisi suhu .
5. Apabila sebelumnya pintu atau jendela terbuka (danger), kemudian tertutup dan
terbuka (danger) kembali maka sistem akan menampilkan kondisi pintu dan jendela
dan tidak mengirimkan pesan kembali karena telah dilakukan pengiriman pesan
sebelumnya. Hal ini tentunya akan menghemat penggunaan sms.
6. Apabila terjadi kondisi danger buzzer akan tetap hidup sampai adanya masukan
password dari user yang akan mengecek kondisi ruangan.
7. Sistem mampu merekam video apabila terjadi kondisi danger pada prototype ruangan.
Hasil video terekam terdapat pada “C:\Capture.avi”. Perekaman video oleh webcam
62
ditandai dengan tanda busy pada pointer mouse. Pada proses perekaman ini terdapat
beberapa kelemahan yaitu
1) Pada saat proses perekaman komputer tidak dapat digunakan untuk proses yang
lain hal ini disebabkan karena komputer dalam keadaan busy.
2) Proses perekaman yang dilakukan sebanyak 1 kali dan hasil perekaman disimpan
pada directory yang sama sehingga apabila terjadi proses perekaman kembali
maka hasil perekaman sebelumnya akan terhapus.
Listing program berikut adalah program untuk record webcam
Pada listing program terlihat bahwa webcam akan merekam saat terdapat data
yang diterima “1” sedangkan saat data yang diterima “0” maka proses perekaman
akan berhenti. Data yang diterima berasal dari mikrokontroler yang dikirimkan
melalui serial com dengan baudrate 19200, 8 bit data dan 1 stop bit apabila sistem
mendeteksi adanya kondisi danger pada prototype ruangan. .
Listing program berikut adalah program untuk rutin pengecekan kondisi sensor
63
Alarm on
Buzzer on
Pada listing program terlihat bahwa sistem hanya dapat mengenali kondisi danger
pada pintu, jendela dan suhu ruangan. Proses pengecekan kondisi suhu, pintu dan jendela
menggunakan fungsi ADC dalam mikrokontroler. Hal ini disebabkan karena port A telah
digunakan sebagai input ADC dengan tegangan referensi internal
4.4 Pengujian Rutin Send Password
Pengujian ini dilakukan untuk mengecek apakah password yang dikirimkan server
kepada user sesuai dengan database password dalam sistem atau tidak dan apakah
password yang dimasukkan oleh user sesuai dengan database password. Proses
pengiriman password oleh server kepada user dan masukan password oleh user
terlihat pada tabel 4.4
Pompa off
Pompa on
64
Tabel 4.4 Tabel Pengiriman Password dan Masukan Password
No SMS
diterima
User
Masukan
Password
LCD Solenoide Buzzer Kirim data
ke PC
1
11111111 11111111 Pass benar Off Off -
Pass salah On On 0
2 12587965 12587965 Pass benar Off Off -
Pass salah On On 0
3 46543227 46543227 Pass benar Off Off -
Pass salah On On 0
4 44587964 44587964 Pass benar Off Off -
Pass salah On On 0
5 58795422 58795422 Pass benar Off Off -
Pass salah On On 0
6 57841264 57841264 Pass benar Off Off -
Pass salah On On 0
7 45879312 45879312 Pass benar Off Off -
Pass salah On On 0
8 55874961 55874961 Pass benar Off Off -
Pass salah On On 0
9 58793645 58793645 Pass benar Off Off -
Pass salah On On 0
10 51247896 51247896 Pass benar Off Off -
Pass salah On On 0
11 58746875 58746875 Pass benar Off Off -
Pass salah On On 0
12 54785125 54785125 Pass benar Off Off -
Pass salah On On 0
13
11111111 11111111 Pass benar Off Off -
Pass salah On On 0
14 12587965 12587965 Pass benar Off Off -
Pass salah On On 0
15 46543227 46543227 Pass benar Off Off -
Pass salah On On 0
Gambar pengujian yang menunjukan tabel 4.4 dapat dilihat pada Lampiran tabel 4.4.
Berdasarkan data hasil pengujian diatas dapat dianalisa bahwa data yang didapatkan
sesuai dengan flowchart rutin send password yaitu
65
1. Password yang diterima oleh user sesuai dengan password dalam tabel yang telah
ditentukan sebelumnya.
2. Looping pengiriman password akan terjadi setelah pengiriman password yang ke -13
yang dimulai kembali dari password = 11111111
3. Apabila masukan password benar maka LCD akan menampilkan “Pass benar”,
solenoid dan buzzer akan off dan mikrokontroler akan mengirimkan data serial “0” ke
PC yang akan menyebabkan proses record webcam stop sehingga user bisa masuk
ruangan
4. Apabila masukan password salah maka LCD akan menampilkan “Pass salah” dan
solonoide masih akan on sehingga apabila ingin mengakses masuk ruangan user akan
memasukan password kembali sampai password dalam kondisi benar dan solenoid
akan off.
Listing program berikut adalah program untuk rutin send password
66
Pada listing program terlihat password sebanyak 12 password yang akan digunakan
secara berurutan. Setelah password ke-12 digunakan maka akan password akan looping.
Apabila password benar maka sistem akan off (solenoid off) sehingga user bisa masuk
dalam ruangan, sedangkan apabila password yang dimasukan salah maka user akan
memasukan password kembali sampai passwotd yang dimasukan benar.
Pada pengujian-pengujian yang telah dilakukan SMS yang dikrimkan oleh Hp C55
tidak dapat ditampilkan, hal ini disebabkan karena tidak adanya outbox dari Hp C55
sedangkan pada pengiriman dan penerimaan SMS dapat dilakukan dengan baik apabila
jaringan operator seluler tidak mengalami suatu gangguan.
67
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil pengamatan dan pembahasan pada bagian sebelumnya dapat
diambil kesimpulan bahwa alat bekerja sesuai dengan perancangan dengan
spesifikasi sebagai berikut
1. Alat akan memproses pesan yang masuk jika nomor pengirim pesan sesuai
dengan nomor user dan isi pesan masuk “Turnon sist”, “Cek kondisi” atau
“Send passwd”.
2. Alat akan berada dalam kondisi aktif apabila kondisi pintu dan jendela
dalam keadaan tertutup sebaliknya alat akan berada dalam kondisi idle
apabila pintu dan jendela tidak berada dalam kondisi tertutup dan
mengirimkan pesan sesuai dengan kondisi yang terjadi
3. Alat pada saat berada dalam kondisi aktif dapat merespon perubahan
kondisi pintu atau jendela yang terbuka dan kenaikan suhu ruangan dengan
cara membunyikan buzzer, webcam record, mengirimkan pesan ke user
sesuai dengan keadaan yang terjadi pada prototype ruangan, dan juga
menghidupkan pompa saat terjadi kenaikan suhu ruangan.
4. Alat dapat merespon dengan baik pengiriman dan masukan password.
5.2 Saran
Saran-saran bagi pengembangan lebih lanjut agar dapat menjadi lebih baik
yaitu
68
1. Pengembangan program perekaman sehingga hasil perekaman bisa disimpan
dalam database sesuai dengan waktu dan tanggal perekaman.
2. Pengembangan sistem keamanan sehingga pemantauan ruangan bisa
dilakukan dari jarak jauh melalui media web.
69
DAFTAR PUSTAKA
[1] Tety Agustin., 2005, Monitoring Ruangan Dengan Robot BerkameraYang
Dikontrol Melalui Wireless LAN (Interfacing), Tugas Akhir PENS/ITS.
[2] Iman Ma’rifatul., 2006, Otomasi Pintu Garasi Berbasis SMS (short message
service)”, Tugas Akhir PENS/ITS.
[3] Rancangan Dan Implementasi Prototipe Sistem Kendali Jarak Jauh Berbasis
AT89C52 Dan Layanan SMS GSM, 1 mei 2009
http://www.bieneelectronics.com, GSM/SMS remote control, 2005.
[4] Heryanto Ary, Adi Wisnu, 2008, Pemrograman Bahasa C untuk Mikrokontroler
ATMEGA 8535, Andi, Yogyakarta
[5] Prasetia Retna, Edi Wibowo C., 2004, Interfacing Port Paralel dan Port Serial
komputer dengan Visual basic 6.0, Andi, Yogyakarta
[6] Data sheet LM35, 3 mei 2009.
www.national.com/ds/LM/LM35.pdf
[7] Aplikasi Transistor, 3 Mei 2009.
http://tutorial-elektronika.blogspot.com/2009/03/rangkaian-aplikasi-transistor-
sebagai.html
[8] Datasheet genius look 316, 3 mei 2009.
http://safemanuals.com/brand-user-guide-instructions-owner-manual/GENIUS
[9] Format SMS. 5Mei 2009
http://www.mikron123.com
[10] Komputer, Wahana. 2004. Tutorial Membuat Program Dengan Visual
Basic,Jakarta : Salemba Infotek.
70
LAMPIRAN
L1
L2
Tabel 4.1 Tabel Pengiriman Pesan dan Respon Alat
No Nomor
Pengirim
Sistem
aktif
Pesan yang Dikirim Pesan Diterima C55 Tampilan LCD SMS diterima User
1
081227551156
0
Tidak ada SMS
2
081227551156
0
Tidak ada SMS
3
081227551156
0
Tidak ada SMS
4
081392419256
0
Tidak ada SMS
L3
Tabel 4.1 (Lanjutan) Tabel Pengiriman Pesan dan Respon Alat
No Nomor
Pengirim
Sistem
aktif
Pesan yang Dikirim Pesan Diterima
C55
Tampilan LCD SMS diterima User
5
081392419256
0
Tidak ada SMS
6
081392419256
0
Tidak ada SMS
7
085643016776
0
8
085643016776
0
L4
Tabel 4.1 (Lanjutan) Tabel Pengiriman Pesan dan Respon Alat
No Nomor
Pengirim
Sistem
aktif
Pesan yang Dikirim Pesan Diterima
C55
Tampilan LCD SMS diterima User
9
085643016776
0
10
085643016776
0
Tidak ada SMS
11
085643016776
0
12
085643016776
0
L5
Tabel 4.1 (Lanjutan) Tabel Pengiriman Pesan dan Respon Alat
No Nomor
Pengirim
Sistem
aktif
Pesan yang Dikirim Pesan Diterima C55 Tampilan LCD SMS diterima User
13
081227551156
1
Tidak ada SMS
14
081227551156
1
Tidak ada SMS
15
081227551156
1
Tidak ada SMS
16
081392419256
1
Tidak ada SMS
L6
Tabel 4.1 (Lanjutan) Tabel Pengiriman Pesan dan Respon Alat
No Nomor
Pengirim
Sistem
aktif
Pesan yang Dikirim Pesan Diterima
C55
Tampilan LCD SMS diterima User
17
081392419256
1
Tidak ada SMS
18
081392419256
1
Tidak ada SMS
19
085643016776
1
20
085643016776
1
L7
Tabel 4.1 (Lanjutan) Tabel Pengiriman Pesan dan Respon Alat
No Nomor
Pengirim
Sistem
aktif
Pesan yang Dikirim Pesan Diterima
C55
Tampilan LCD SMS diterima User
21
085643016776
1
22
085643016776
1
23
085643016776
1
24
085643016776
1
L8
Tabel 4.2 Tabel Pengecekan Kondisi Pintu dan Jendela dalam Kondisi Idle
No Kondisi
Pintu
Kondisi
Jendela
LCD Solenoide SMS diterima User
1
Tutup
Tutup
On
2
Tutup
Buka
Off
3
Buka
Tutup
Off
4
Buka
Buka
Off
L9
Tabel 4.3 Tabel Respon Sistem Dalam Kondisi Aktif
No Kondisi
Pintu
Kondisi
Jendela
Suhu LCD Web
cam
Buz
zer
Pompa SMS diterima User
1
Tutup
Tutup
Idle
Off Off
Tidak ada SMS
2
Tutup
Tutup
On On
3
Tutup
Buka
On Off
4
Tutup
Buka
On On
5
Buka
Tutup
On Off
L10
Tabel 4.3 (Lanjutan) Tabel Respon Sistem Dalam Kondisi Aktif
No Kondisi
Pintu
Kondisi
Jendela
Suhu LCD Web
cam
Buz
zer
Pompa SMS diterima User
6
Buka
Tutup
On On
7
Buka
Buka
On Off
8
Buka
Buka
On On
L11
Tabel 4.4 Tabel Pengiriman Password dan Masukan Password
No SMS diterima User LCD Solonoide Buzzer Kirim data
ke PC
1
Off
Off
-
On
On
0
2
Off
Off
-
On
On
0
3
Off
Off
-
On
On
0
L12
Tabel 4.4 (Lanjutan) Tabel Pengiriman Password dan Masukan Password
No SMS diterima User LCD Solonoide Buzzer Kirim data
ke PC
4
Off
Off
-
On
On
0
5
Off
Off
-
On
On
0
6
Off
Off
-
On
On
0
L13
Tabel 4.4 (Lanjutan) Tabel Pengiriman Password dan Masukan Password
No SMS diterima User LCD Solonoide Buzzer Kirim data
ke PC
7
Off
Off
-
On
On
0
8
Off
Off
-
On
On
0
9
Off
Off
-
On
On
0
L14
Tabel 4.4 (Lanjutan) Tabel Pengiriman Password dan Masukan Password
No SMS diterima User LCD Solonoide Buzzer Kirim data
ke PC
10
Off
Off
-
On
On
0
11
Off
Off
-
On
On
0
12
Off
Off
-
On
On
0
L15
Tabel 4.4 (Lanjutan) Tabel Pengiriman Password dan Masukan Password
No SMS diterima User LCD Solonoide Buzzer Kirim data
ke PC
13
Off
Off
-
On
On
0
14
Off
Off
-
On
On
0
15
Off
Off
-
On
On
0
L16
'===============================================================
' Sistem Keamanan Ruangan
' Directed By
' Ardhy Sigit Permana Putra
'===============================================================
$regfile = "m8535.dat"
$crystal = 4000000
$baud = 19200
'===============================================================
Config Pind.4 = Output 'pompa aktif low
Config Pind.5 = Output 'solenoide aktif low
Config Pind.6 = Output
Config Pind.7 = Output 'buzzer aktif high
'===============================================================
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E
= Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Enable Adc
Start Adc
Config Kbd = Portb
Config Timer1 = Timer , Prescale = 8
Enable Timer1
Enable Interrupts
Stop Timer1
'===============================================================
Open "comd.3:19200,8,n,1" For Output As #1
Open "comd.2:19200,8,n,1" For Input As #2
'===============================================================
Dim A As Byte 'a=ambil data ascii
Dim B As Byte 'b=generator password
Dim C As Byte 'C=jumlah kode masukan
Dim D As Byte 'D=bwt geser LCD
Dim E As Byte 'E=sms danger suhu
Dim F As Byte 'f=sms danger jendela
Dim G As Byte 'g=sms danger pintu
Dim H As Byte
Dim I As Byte
L17
Dim K As Integer 'k= getkbd
Dim L As Byte 'L=cek_awal
Dim Hp As Byte
Dim Tes As Byte
Dim Jen As Byte
Dim Pin As Byte
Dim Sistem_aktif As Byte
Dim Num As String * 1
Dim Password As String * 8
Dim Rcv As String * 8
Dim Pintu As Byte
Dim Jendela As Byte
Dim Pint As String * 10
Dim Jend As String * 10
Dim Suhu As String * 10
Dim Test1 As Byte
Dim Sensor1 As Byte
Dim Sensor2 As Byte
'Dim Datasuhu As Single
'Dim Datasuhu2 As Single
'Dim Suhu1 As Byte
'Dim Suhu2 As Byte
Dim Balas As String * 100
Dim Pdu As String * 56
Dim No As String * 14
Dim Notx As String * 14
Dim Pesan As String * 20
Dim Kode As String * 20
Dim Aktif As String * 20
Dim System As String * 20
Dim Kondisi As String * 20
Dim Star As Byte
'Const Vreff = 2.56
'===============================================================
Declare Sub Cek_hp()
Declare Sub Cek_pesan
Declare Sub Hapus
Declare Sub Hapus_pesan
Declare Sub Cek_at2
Declare Sub Send_pesan_tdkdknal
Declare Sub Send_sistem_aktif
Declare Sub Send_pintu_buka
Declare Sub Send_jendela_buka
Declare Sub Send_sistem_aman
Declare Sub Send_sistem_idl
L18
Declare Sub Send_pass1
Declare Sub Send_pass2
Declare Sub Send_pass3
Declare Sub Send_pass4
Declare Sub Send_pass5
Declare Sub Send_pass6
Declare Sub Send_pass7
Declare Sub Send_pass8
Declare Sub Send_pass9
Declare Sub Send_pass10
Declare Sub Send_pass11
Declare Sub Send_pass12
Portd.7 = 0 'alarm
Portd.6 = 0 'sistem on
Portd.5 = 1 'pompa
Portd.4 = 1 'solonoide
Notx = "265846036177F6"
Kode = "D3B29B0C8287E7F33B19" 'sms=Send passwd
Aktif = "D4BADCFD7683E6E9391D" 'sms=Turnon sist
Kondisi = "C3F21AB47EBBC9E9791A" 'sms=Cek kondisi
'========================programutama===========================
Ulang_sist:
E = 0
F = 0
G = 0
H = 0
I = 0
L = 0
Cls Locate 1 , 5
Lcd "Welcome"
Waitms 500
Home Lower Lcd "Sistem Keamanan Ruangan"
Wait 1
For D = 0 To 6
Shiftlcd Left Waitms 200
Next D
Cls
Lcd "Thxz for my mom,pucil & miyukz.."
Waitms 800
For D = 0 To 30
Shiftlcd Left
L19
Waitms 200
Next D
Cls Locate 1 , 3
Lcd "Directed by"
Home Lower
Lcd "----------------"
Wait 1
Cls Locate 1 , 16
Lcd "Ardhy S.P Putra"
Locate 2 , 16
Lcd "NIM = 065114001"
For D = 0 To 14
Shiftlcd Left Waitms 200
Next D
Wait 2
Cls
Ulang_cek:
Call Cek_hp
Call Cek_pesan
End '===========================tabel Data============================
Decode:
Data "1" , "2" , "3" , "F1"
Data "4" , "5" , "6" , "F2"
Data "7" , "8" , "9" , "up"
Data "*" , "0" , "enter" , "down"
Kode_pass:
Data "11111111" , "12587965" , "46543227" , "44587964"
Data "58795422" , "57841264" , "45879312" , "55874961"
Data "58793645" , "51247896" , "58746875" , "54785125"
'=============================cek hp===========================
Sub Cek_hp:
Ulang_cek_hp:
Cls
Lcd "Cek HP:"
Timer1 = 0
Start Timer1 Locate 1 , 9
Print "AT" ; Chr(13)
L20
Lcd "*No Hp*"
Waitms 500
Goto Ulang_cek_hp
Yes:
Stop Timer1
Cls
Locate 1 , 2
Lcd "Hp Connected"
Waitms 500
Locate 2 , 3
Lcd "Sistem Siap"
Waitms 500
Cls
End Sub
'=============================Cek Pesan Masuk======================
Sub Cek_pesan:
Cls
Deflcdchar 0 , 32 , 4 , 4 , 31 , 4 , 4 , 32 , 32
Deflcdchar 1 , 32 , 2 , 20 , 14 , 5 , 8 , 32 , 32
Deflcdchar 2 , 32 , 2 , 26 , 4 , 11 , 8 , 32 , 32
Deflcdchar 3 , 32 , 17 , 10 , 4 , 10 , 17 , 32 , 32
Deflcdchar 4 , 32 , 8 , 11 , 4 , 26 , 2 , 32 , 32
Deflcdchar 5 , 32 , 8 , 5 , 14 , 20 , 2 , 32 , 32
Terus:
'Cls
Locate 1 , 6
Lcd "NO SMS"
Locate 2 , 3
Lcd "Sistem Idle"
Waitms 500
Putar:
For Star = 0 To 5 Step 1
Locate 2 , 16
Waitms 100
Lcd Chr(star)
Next Star
Print "AT+CMGL=0" ; Chr(13)
L21
Do If A = 60 Then
Goto Baca_pesan1
End If
If A = 70Then
Goto Putar
End If
Loop
Baca_pesan1:
Do
Balas = Balas + Chr(a)
If A = 89 Then
Goto Cek1
End If
Loop
Cek1:
Do
Pdu = Pdu + Chr(a)
Loop Until A =48
If No <> Notx Then
Cls
Home Upper Lcd "No Tidak Dikenal"
Home Lower Lcd "****************"
Wait 3
'Cls
Call Hapus
Call Hapus_pesan
Goto Terus
End If
Goto Cek_isi
Cek_pesan2:
Print "AT+CMGL=0" ; Chr(13)
Do If A = 85 Then
Goto Baca_pesan2
End If
L22
If A = 100 Then
Goto Cek_sensor1
End If
Loop
Baca_pesan2:
Do
Balas = Balas + Chr(a)
If A = 87Then
Goto Cek2
End If
Loop
Cek2:
Do
Pdu = Pdu + Chr(a)
Loop Until A = 13
No = 3
Goto Cek_isi
If No <> Notx Then
Cls
'Call Hapus
Call Hapus_pesan
Goto Cek_sensor1
End If
Cek_isi:
Pesan = 4
If Sistem_aktif = 0 Then
Goto Pesan_sisoff
End If
If Sistem_aktif = 1 Then
Goto Pesan_sison
End If
Pesan_sisoff:
If Pesan = Aktif Then
Cls Sistem_aktif = 1
Lcd "Pesan=TurnonSist"
Wait 1
Cls Call Hapus
Call Hapus_pesan
Goto Cek_awal
End If
L23
If Pesan <> Aktif Then
Cls
Home Upper Lcd "Pesan Tdk Dkenal"
Home Lower Lcd "^^^^^^____^^^^^^"
Wait 1
Call Send_sistem_idle
Cls Call Hapus
Call Hapus_pesan
Goto Terus
End If
Pesan_sison:
If Pesan = Kode Then
Cls Lcd "Pesan==Password"
Wait 1
Call Hapus
Call Hapus_pesan
Goto Send_password
End If If Pesan = Aktif Then
Cls Lcd "*Pesan == Aktif*"
Wait 1
Call Hapus
Call Hapus_pesan
Call Send_sistem_aktif
Goto Cek_sensor
End If
If Pesan = Kondisi Then
Cls
Lcd "Pesan==CekKondsi"
Wait 1
Call Hapus
Call Hapus_pesan
Call Send_sistem_aman
Goto Cek_sensor
End If
Cls
Home Upper Lcd "Pesan Tdk Dkenal"
Home Lower Lcd "^^^^^^____^^^^^^"
Wait 1
Call Send_pesan_tdkdknal
Call Hapus
L24
Call Hapus_pesan
Goto Cek_sensor
Cek_awal:
Cls
Do
Pintu = Getadc(5)
Jendela = Getadc(4)
Test1 = Pintu + Jendela
If Pintu = 0 Then
Pint = "Tutup"
End If
If Pintu > 20 Then
Pint = "Buka"
Goto Pintu_buka
End If
Cek_jen:
If Jendela = 0 Then
Jend = "Tutup"
End If
If Jendela > 20 Then
Jend = "Buka"
Goto Jendela_buka
End If
Cek_neh:
Cls
Locate 1 , 3
Lcd "Sistem Idle"
Home Lower Lcd "P =" ; Pint ; " " ; "J =" ; Jend
Waitms 500
Cls
Loop Until Test1 = 0
Portd.4 = 0
Portd.6 = 1
Locate 1 , 3
Lcd "Sistem aktif"
Locate 2 , 3
Lcd "Solenoide On"
Waitms 500
Cls
Call Send_sistem_aktif
Wait 1
Goto Cek_sensor
L25
Pintu_buka:
If H = 1 Then
Goto Cek_jen
End If
Call Cek_at2
Waitms 30
Print "at+cmgs=24"
Do
A = Inkey()
Loop Until A = 62
Print "07912658050000F011000D91265846036177F60000FF0AD0B49B5E0789EBEB30" ;
Chr(26)
Do
A = Inkey()
Loop Until A = 79
Cls Lcd "Send Pintu Buka"
Wait 1
H = 1
Goto Cek_jen
Jendela_buka:
If I = 1 Then
Goto Cek_neh
End If
Call Cek_at2
Waitms 30
Print "at+cmgs=26"
Do
A = Inkey()
Loop Until A = 62
Print "07912658050000F011000D91265846036177F60000FF0CCAB29B5C668741E2FA3A0
C" ; Chr(26)
Do
A = Inkey()
Loop Until A = 79
Cls Lcd "Send Jend Buka"
Locate 2 , 2
Wait 1
I = 1
Goto Cek_neh
L26
Cek_sensor:
Waitms 30
Do Goto Cek_pesan2
Cek_sensor1:
Sensor1 = Getadc(0)
Sensor2 = Getadc(1)
Pintu = Getadc(5)
Jendela = Getadc(4)
'Datasuhu = Sensor1 / 1024
'Datasuhu = Datasuhu * Vreff
'Datasuhu = Datasuhu * 127
'Datasuhu2 = Sensor1 / 1024
'Datasuhu2 = Datasuhu2 * Vreff
'Datasuhu2 = Datasuhu2 * 127
'Suhu1 = Fusing(datasuhu , "#.##")
'Suhu2 = Fusing(datasuhu2 , "#.##")
Cls
If Sensor1 < 75 Then
Suhu = "<40'C"
End If If Sensor1 > 75 Then
Cls Suhu = ">40'C"
Lcd "Danger Suhu "
Waitms 300
Goto Danger_suhu
End If
If Sensor2 < 75 Then
Suhu = "<40'C"
End If If Sensor2 > 75 Then
Cls Suhu = ">40'C"
Lcd "Danger Suhu "
Waitms 300
Goto Danger_suhu
End If
Portd.5 = 1 'pompa
Cek_jen2:
If Jendela = 0 Then
Jend = "Tutup"
End If
L27
If Jendela > 20 Then
Cls
Jend = "Buka"
Lcd "Danger Jendela"
Waitms 300
Goto Danger_jendela
End If
Cek_pint2:
If Pintu = 0 Then
Pint = "Tutup"
End If
If Pintu > 20 Then
Cls
Pint = "Buka"
Lcd "Danger Pintu"
Wait 1
Goto Danger_pintu
End If Tampil:
Cls Locate 1 , 2
Lcd "P=" ; Pint ; " " ; "J=" ; Jend
Locate 2 , 3
Lcd "Suhu =" ; Suhu
Locate 2 , 16
For Star = 0 To 5 Step 1
Locate 2 , 16
Waitms 100
Lcd Chr(star)
Next Star
Loop
Danger_jendela:
Cls Portd.7 = 1
If F = 1 Then
Goto Cek_pint2
End If Waitms 200
Print "at+cmgs=28"
Do
Jen = Inkey()
Loop Until Jen = 62
Print "07912658050000F011000D91265846036177F60000FF0EC4B0FB5C9683D46537B9C
C0E03" ;chr(26)
Do
Jen = Inkey()
L28
Loop Until Jen = 79
F = 1
Lcd "Send Danger Jendela"
Wait 1
Goto Danger
Danger_pintu:
Cls
Portd.7 = 1
If G = 1 Then
Goto Tampil
End If
Waitms 200
Print "at+cmgs=26"
Do Pin = Inkey()
Loop Until Pin = 62
"07912658050000F011000D91265846036177F60000FF0CC4B0FB5C9683E06937BD0
E" ; Chr(26)
Do Pin = Inkey()
Loop Until Pin = 79
G = 1
Lcd "Send Danger Pintu"
Wait 1
Goto Danger
Danger_suhu:
Cls
Portd.7 = 1
Portd.5 = 0
If E = 1 Then
Goto Cek_jen2
End If Print "at+cmgs=25"
Do A = Inkey()
Loop Until A = 62
"07912658050000F011000D91265846036177F60000FF0BC4B0FB5C9683E675741D" ;
Chr(26)
Do A = Inkey()
Loop Until A = 79
E = 1
Lcd "Send Danger Suhu"
Wait 1
Goto Danger
L29
Danger:
Cls
Portd.7 = 1
Print #1 , "1"
Waitms 30
Goto Cek_sensor
Send_password:
Cls
Lcd "Send Password "
Locate 2 , 3
Waitms 500
If B = 0 Then Call Send_pass1
If B = 1 Then Call Send_pass2
If B = 2 Then Call Send_pass3
If B = 3 Then Call Send_pass4
If B = 4 Then Call Send_pass5
If B = 5 Then Call Send_pass6
If B = 6 Then Call Send_pass7
If B = 7 Then Call Send_pass8
If B = 8 Then Call Send_pass9
If B = 9 Then Call Send_pass10
If B = 10 Then Call Send_pass11
If B = 11 Then Call Send_pass12
If B = 12 Then
B = 0 : Goto Send_password
End If
Masukan_password:
Ulang:
Wait 1
Cls
Locate 1 , 4
Lcd "Password" '; Password
Locate 2 , 1
Ulang_pass:
For C = 1 To 8
Get_pass:
If K > 15 Then Goto Get_pass
If K = 7 Or K = 11 Or K = 12 Or K = 14 Or K = 15 Then Goto Get_pass
Num = Lookupstr(k , Decode)
Lcd Num
Rcv = Rcv + Num
Waitms 150
Next C
L30
If Rcv = Password Then
Rcv = ""
Locate 2 , 10
Lcd "Benar"
Wait 3
Incr B
Goto Sistem_off
End If
If Rcv <> Password Then
Locate 2 , 10
Lcd "Salah" : Wait 3 : Rcv = "" : Goto Ulang
End If
Sistem_off:
Cls
Sistem_aktif = 0
Portd.6 = 0
Portd.7 = 0
Portd.4 = 1
Portd.5 = 1
E = 0
F = 0
G = 0
L = 0
Locate 1 , 4
Lcd "Sistem Off"
Waitms 200
Home Lower Lcd "******>__<*******"
Wait 5
Cls
Goto Ulang_cek
End Sub
'===============================hapus data=========================
Sub Hapus
Cls Tes = ""
Balas = ""
No = ""
Pesan = ""
Pdu = ""
A = 0
End Sub
'===============================================================
L31
'==============================hapus pesan========================
Sub Hapus_pesan
Call Cek_at2
Print "AT+CMGD=1" ; Chr(13)
Wait 1
End Sub
'=============================cek AT=============================
Sub Cek_at2
Lagi2:
Timer1 = 0
Start Timer1
Print "AT" ; Chr(13)
Do
Hp = Inkey()
If Hp = 79 Then
Goto Yes2
End If
Loop Until Timer1 = 1
Stop Timer1
Goto Lagi2
Yes2:
End Sub '===============================================================
'==========================Pesan tidak dikenal=======================
Sub Send_pesan_tdkdknal
Call Cek_at2
Waitms 30
Print "at+cmgs=31"
Do A = Inkey()
Loop Until A = 62
"07912658050000F011000D91265846036177F60000FF12D0F23CEC06D1D3E4F01A4
45E97DD6136" ; Chr(26)
Do A = Inkey()
Loop Until A = 79
Cls
Locate 1 , 6
Lcd "Send"
Home Lower Lcd "Pesan tdk Dknl"
Waitms 200
Cls
End Sub
L32
'==============================sistem aktif=========================
Sub Send_sistem_aktif
Call Cek_at2
Waitms 30
Print "at+cmgs=26"
Do
A = Inkey()
Loop Until A = 62
Print "07912658050000F011000D91265846036177F60000FF0CD3F49C5E6E83C26B7ADA
0C" ; Chr(26)
Do
A = Inkey()
Loop Until A = 79
Cls Locate 1 , 6
Lcd "Send"
Locate 2 , 2
Lcd "Sistem Aktif"
Waitms 200
Cls
End Sub
' ============================== Sistem Idle ========================
Sub Send_sistem_idle
Call Cek_at2
Print "at+cmgs=25"
Do
A = Inkey()
Loop Until A = 62
'Waitms 500
"07912658050000F011000D91265846036177F60000FF0BD3F49C5E6E83D2647619" ;
Chr(26)
Do A = Inkey()
Loop Until A = 79
Cls
Lcd "Send_Sistem_Idle"
Waitms 200
End Sub
'=============================sistem aman=========================
Sub Send_sistem_aman
Call Cek_at2
Print "at+cmgs=25"
Do A = Inkey()
Loop Until A = 62
L33
Print "07912658050000F011000D91265846036177F60000FF0BD3F49C5E6E83C2EDB01B"
; Chr(26)
Do
A = Inkey()
Loop Until A = 79
Locate 1 , 6
Lcd "Send"
Locate 2 , 2
Lcd "Sistem Aman"
Waitms 200
Cls
End Sub
'============================send password=========================
Sub Send_pass1
Print "at+cmgs=22"
Do
A = Inkey()
Loop Until A = 62
Print "07912658050000F011000D91265846036177F60000FF08B1582C168BC562" ; Chr(26)
Do A = Inkey()
Loop Until A = 79
Lcd "Send_pass1"
Waitms 200
Goto Masukan_password
End Sub
Sub Send_pass2
Print "at+cmgs=22"
Do A = Inkey()
Loop Until A = 62
"07912658050000F011000D91265846036177F60000FF0831590D77CBD96A" ;
Chr(26)
Do A = Inkey()
Loop Until A = 79
Lcd "Send_pass2"
Waitms 200
Goto Masukan_password
End Sub
L34
Sub Send_pass3
Print "at+cmgs=22"
Do A = Inkey()
Loop Until A = 62
"07912658050000F011000D91265846036177F60000FF08345B8D3693C96E" ; Chr(26)
Do
A = Inkey()
Loop Until A = 79
Lcd "Send_pass1"
Waitms 200
Goto Masukan_password
End Sub
Sub Send_pass4
Print "at+cmgs=22"
Do
A = Inkey()
Loop Until A = 62
Print "07912658050000F011000D91265846036177F60000FF08345A0D77CBD968" ;
Chr(26)
Do
A = Inkey()
Loop Until A = 79
Lcd "Send_pass3"
Waitms 200
Goto Masukan_password
End Sub
Sub Send_pass5
Print "at+cmgs=22"
Do
A = Inkey()
Loop Until A = 62
Print "07912658050000F011000D91265846036177F60000FF0835DC2D57A3C964" ;
Chr(26)
Do
A = Inkey()
Loop Until A = 79
Lcd "Send_pass4"
Waitms 200
Goto Masukan_password
End Sub
L35
Sub Send_pass6
Print "at+cmgs=22"
Do A = Inkey()
Loop Until A = 62
"07912658050000F011000D91265846036177F60000FF08B51B8E1693D968" ; Chr(26)
Do
A = Inkey()
Loop Until A = 79
Lcd "Send_pass5"
Waitms 200
Goto Masukan_password
End Sub
Sub Send_pass7
Print "at+cmgs=22"
Do
A = Inkey()
Loop Until A = 62
Print "07912658050000F011000D91265846036177F60000FF08B41AEE969BC564" ;
Chr(26)
Do
A = Inkey()
Loop Until A = 79
Lcd "Send_pass6"
Waitms 200
Goto Masukan_password
End Sub
Sub Send_pass8
Print "at+cmgs=22"
Do
A = Inkey()
Loop Until A = 62
Print "07912658050000F011000D91265846036177F60000FF08B51AEE46CBD962" ;
Chr(26)
Do
A = Inkey()
Loop Until A = 79
Lcd "Send_pass7"
Waitms 200
Goto Masukan_password
End Sub
L36
Sub Send_pass9
Print "at+cmgs=22"
Do A = Inkey()
Loop Until A = 62
"07912658050000F011000D91265846036177F60000FF0835DC2D37B3D16A" ;
Chr(26)
Do A = Inkey()
Loop Until A = 79
Lcd "Send_pass8"
Waitms 200
Goto Masukan_password
End Sub
Sub Send_pass10
Print "at+cmgs=22"
Do A = Inkey()
Loop Until A = 62
"07912658050000F011000D91265846036177F60000FF08B5988C76C3E56C" ;
Chr(26)
Do A = Inkey()
Loop Until A = 79
Lcd "Send_pass9"
Waitms 200
Goto Masukan_password
End Sub
Sub Send_pass11
Print "at+cmgs=22"
Do A = Inkey()
Loop Until A = 62
"07912658050000F011000D91265846036177F60000FF0835DC8D66C3DD6A" ;
Chr(26)
Do A = Inkey()
Loop Until A = 79
Lcd "Send_pass10"
Waitms 200
Goto Masukan_password
End Sub
L37
Sub Send_pass12
Print "at+cmgs=22"
Do A = Inkey()
Loop Until A = 62
"07912658050000F011000D91265846036177F60000FF0835DA0D578BC96A" ;
Chr(26)
Do A = Inkey()
Loop Until A = 79
Lcd "Send_pass11"
Waitms 200
Goto Masukan_password
End Sub
'===============================================================