Upload
others
View
8
Download
7
Embed Size (px)
Citation preview
i
PROPOSAL TUGAS AKHIR
SISTEM PENGENDALI DAN PEMANTAU PINTU GERBANG OTOMATIS DENGAN
MEMANFAATKAN LAYANAN SMS
Oleh :
STEFANUS PANDU KUNCAHYO NIM : 055114020
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2009
ii
FINAL PROJECT PROPOSAL
AUTOMATIC GATE CONTROL AND MONITORING SYSTEM USING SMS
By :
STEFANUS PANDU KUNCAHYO NIM : 055114020
ELECTRICAL ENGINEERING STUDY PROGRAM 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, 22 September 2010
STEFANUS PANDU KUNCAHYO
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO:
”Prosperity is a great teacher;”Prosperity is a great teacher;”Prosperity is a great teacher;”Prosperity is a great teacher;
Adversity is a gAdversity is a gAdversity is a gAdversity is a greater”reater”reater”reater”
Skripsi ini kupersembahkan untuk…Skripsi ini kupersembahkan untuk…Skripsi ini kupersembahkan untuk…Skripsi ini kupersembahkan untuk…
Yesus Kristus Pembimbingku yang setiaYesus Kristus Pembimbingku yang setiaYesus Kristus Pembimbingku yang setiaYesus Kristus Pembimbingku yang setia
Bapak dan Ibu tercintaBapak dan Ibu tercintaBapak dan Ibu tercintaBapak dan Ibu tercinta
Serta saudaraku FajarSerta saudaraku FajarSerta saudaraku FajarSerta saudaraku Fajar
vii
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Stefanus Pandu kuncahyo
Nomor Mahasiswa : 055114020
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul :
SISTEM PENGENDALI DAN PEMANTAU PINTU GERBANG OTOMATIS DENGAN
MEMANFAATKAN LAYANAN SMS
beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada
Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam
bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara
terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis
tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap
mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Yogyakarta, 22 September 2010
(Stefanus Pandu Kuncahyo)
viii
INTISARI Aktifitas yang dilakukan manusia semakin hari semakin padat dan kompleks. Kondisi ini mengakibatkan efisiensi waktu berkembang menjadi suatu kebutuhan penting. Untuk memenuhi kebutuhan tersebut, salah satu solusi yang logis adalah dengan menciptakan suatu sistem kendali otomatis yang dapat membuat pekerjaan manusia menjadi semakin mudah dan dalam jarak tertentu akibat keterbatasan transmitter. Penelitian ini memberikan solusi pengendalian pintu gerbang dengan memanfaatkan layanan SMS dengan fitur proteksi password dan pengaturan user. Sistem pengendali dan pemantau pintu gerbang otomatis ini terdiri dari SMS pada jaringan GSM, minimum system dan PC. efisien. Pengendalian pintu gerbang otomatis yang ada tidak terlalu efisien karena hanya bisa dikendalikan SMS digunakan sebagai media pengiriman pesan yang berisi format untuk mengendalikan dan memantau pintu gerbang. Minimum system dan PC berfungsi untuk melakukan proses pengendalian dan pemantauan saat ada SMS masuk. Sistem pengendali dan pemantau pintu gerbang otomatis memanfaatkan layanan SMS sudah berhasil dibuat dan dapat bekerja dengan baik. SMS yang masuk diolah dengan baik oleh minimum system, sehingga tingkat keakurasian perintah yang dikirimkan dengan keadaan yang terjadi pada pintu gerbang sudah sesuai dengan yang diinginkan. Kata kunci: pengendali, pemantau, pintu gerbang, password, SMS.
ix
ABSTRACT
Human actifity is increasingly intens and complex. This condition resulted in
increasing the need of time efficiency. To meet this needs, one logical solution is to create an automatic control system that make human tasks become easier and efficient. Current automatic gates control are not very efficient, because it only can be controlled with a certain distance due to limitations of a transmitter. This study provides the gate control solution using SMS with password protection and user setting.
Automatic gate control and monitoring system consist of: SMS on GSM networks, microcontoler minimum system, and PC. SMS message is used as medium minimum system and PC is used to perform process control and monitoring when there is an incoming SMS.
Automatic control and monitoring system using SMS has been successfully created and worked well. Incoming SMS processed properly by the minimum system, so the accuracy level command can be sent to the gate as expected. Keywords: control, monitoring, gate, password, SMS.
x
KATA PENGANTAR
Puji syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala karunia-Nya
sehingga tugas akhir dengan judul “Sistem Pengendali dan Pemantau Beda Pintu
Gerbang Otomatis Dengan Memanfaatkan SMS” ini dapat diselesaikan dengan baik.
Penelitian yang berupa tugas akhir ini merupakan salah satu syarat bagi mahasiswa
Program Studi Teknik Elektro untuk memperoleh gelar Sarjana Teknik di Universitas
Sanata Dharma Yogyakarta. Penelitian ini dapat diselesaikan dengan baik atas bantuan,
gagasan dan dukungan dari berbagai pihak. Oleh karena itu, peneliti ingin mengucapkan
terima kasih kepada:
1. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
2. Bapak Damar Widjaja, S.T., M.T., selaku Dosen Pembimbing yang telah banyak
meluangkan waktu untuk memberikan bimbingan, pengetahuan, diskusi, arahan,
kritik dan saran kepada peneliti sehingga penulisan tugas akhir ini dapat
diselesaikan.
3. Bapak Pius Yozy Merucahyo, S.T., M.T. dan Ibu Wiwien Widyastuti, S.T., M.T.
selaku penguji yang telah memberikan kritik dan saran.
4. Bapak dan Ibu Dosen yang telah memberikan semangat, pengetahuan dan
bimbingan kepada peneliti selama kuliah.
5. Bapak dan Ibu tercinta, kakakku Gregorius Fajar Wicaksono, serta semua keluarga
yang telah memberikan semangat dan dukungan dalam penyelesaian tugas akhir ini.
6. Teman-teman seperjuanganku: Agustinus Mahisa Agni, Albertus Datu Setyowidi,
Roy Kurniawan, S.T., Vicimus Bonavide, S.T. atas kerja keras dan kebersamaan
selama pengerjaan tugas akhir ini.
7. Christian Novianto dan Yohfines Wijaya atas sharing dan masukan selama ini.
8. Teman-teman Teknik Elektro angkatan 2005 untuk kebersamaan dan dukungannya.
9. Semua pihak yang tidak bisa peneliti sebutkan satu-persatu atas bantuan,
bimbingan, kritik dan saran.
Peneliti sangat mengharapkan kritik dan saran yang dapat membangun serta
menyempurnakan tulisan. Semoga tugas akhir ini dapat dimanfaatkan dan dikembangkan
xi
lebih lanjut oleh peneliti lain sehingga tulisan ini dapat lebih bermanfaat bagi
perkembangan Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta.
Yogyakarta, 22 September 2010
Peneliti,
Stefanus Pandu Kuncahyo
xii
DAFTAR ISI
HALAMAN JUDUL ..................................................................................................... i
HALAMAN PERSETUJUAN ..................................................................................... iii
HALAMAN PENGESAHAN ....................................................................................... iv
PERNYATAAN KEASLIAN KARYA ....................................................................... v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ........................................... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS .................................................... vii
INTISARI ...................................................................................................................... viii
ABSTRACT .................................................................................................................. ix
KATA PENGANTAR .................................................................................................. x
DAFTAR ISI ................................................................................................................. xii
DAFTAR GAMBAR .................................................................................................... xv
DAFTAR TABEL ......................................................................................................... xvii
BAB I PENDAHULUAN
1.1. Latar Belakang ............................................................................................ 1
1.2. Batasan Masalah ......................................................................................... 2
1.3. Tujuan dan Manfaat Penelitian ................................................................... 2
1.4. Metodologi Penelitian ................................................................................ 2
1.5. Sistematika Penulisan ................................................................................. 3
BAB II: DASAR TEORI
2.1. Arsitektur Jaringan GSM ........................................................................... 5
2.2. Short Message Service ............................................................................... 7
2.4. Mikrokontroler AVR ................................................................................. 8
2.3. Komunikasi Serial RS 232 ......................................................................... 9
2.5. Port Serial Personal Computer ................................................................... 10
2.6. Telepon Seluler Siemens C55 .................................................................... 11
2.7. Aktuator menggunakan Motor DC ............................................................. 12
2.8. Modul Liquide Crystal Display 16x2 ......................................................... 13
2.9. Proximity Sensor ........................................................................................ 13
2.10. Transistor Sebagai Saklar ......................................................................... 15
xiii
2.11. Keypad…………………………………………………………………….16
2.12. SMS Gateway ............................................................................................. 16
2.12.1. Gammu............................................................................................ 17
2.12.2. XAMPP ........................................................................................... 18
2.13. Database ...................................................................................................... 19
BAB III: RANCANGAN PENELITIAN
3.1. Model Sistem ................................................................................. 20
3.1.1. Pengaturan Nomor User ................................................................ 21
3.1.2. Pengaturan Password .................................................................... 22
3.1.3. SMS Perintah .................................................................................. .22
3.1.4. SMS Konfirmasi ............................................................................. .23
3.2. Perancangan Subsistem Hardware ................................................. 24
3.2.1. Perancangan RS232 ........................................................... 24
3.2.2. Driver Relay ...................................................................... 25
3.2.3. Perancangan Sistem Penguncian ....................................... 26
3.2.4. Liquid Crystal Display ....................................................... 29
3.2.5. Keypad ............................................................................... 30
3.2.6. Rangkaian Minimum System Mikrokontroler ............................... 31
3.3. Perancangan Subsystem Software .................................................. 31
3.3.1. Perancangan Program Pada Mikrokontroler ...................... 31
3.3.2. Subroutine Operasi Manual ............................................... 33
3.3.3. Subroutine Kerjakan Perintah ............................................. 33
3.3.4. Subroutine Kirim Feedback ke PC .................................... 35
3.4. Perancangan Program Pada Personal Computer ........................... 35
3.4.1. Subroutine Cek Nomor User dan Password ...................... 36
3.4.2. Subroutine Kerjakan Perintah ............................................ 37
3.4.3. Subroutine Open Gate ........................................................ 38
3.4.4. Subroutine Open House ...................................................... 38
3.4.5. Subroutine Close Gate ........................................................ 39
3.4.6. Subroutine User Baru ......................................................... 40
3.4.7. Subroutine Status ................................................................ 40
3.4.8. Subroutine Bantuan ............................................................ 41
3.4.9. Subroutine Password Baru ................................................. 41
xiv
3.4.10. Subroutine Black List ........................................................ 41
3.5. Perancangan Database .................................................................. 42
BAB IV: HASIL DAN PEMBAHASAN
4.1. Gambar Fisik Alat ......................................................................... 44
4.2. Pengujian SMS Perintah ................................................................ 46
4.3. Pengujian Rangkaian Komunikasi Serial ...................................... 49
4.4. Pengujian Rangkaian Driver Relay ................................................ 49
4.5. Pengujian Sistem Penguncian ......................................................... 50
4.5.1. Pengujian Rangkaian Transistor sebagai Saklar ................. 50
4.5.2. Pengujian Rangkaian Proximity sensor .............................. 52
4.6. Pengujian Program Pada PC ........................................................... 53
4.6.1. Menu Utama ......................................................................... 53
4.6.2. Data User ............................................................................. 58
4.6.3. Akses Tersimpan ................................................................. 59
4.7. Pembahasan Program Pada Mikrokontroler .................................. 60
4.8 Pengujian akses manual…………………………………………..64
BAB V: KESIMPULAN DAN SARAN
5.1. Kesimpulan .................................................................................... 65
5.2. Saran .............................................................................................. 65
DAFTAR PUSTAKA ................................................................................................... 66
LAMPIRAN ................................................................................................................... 67
xv
Daftar Gambar Halaman
Gambar 1.1. Model Sistem ............................................................................................. 3
Gambar 2.1. Arsitektur Jaringan GSM ............................................................................ 5
Gambar 2.2. Blok Diagram Cara Kerja SMS ................................................................. 7
Gambar 2.3. Konfigurasi Pin Atmega8535 ..................................................................... 8
Gambar 2.4. Konfigurasi Pin Ic Serial Max232 .............................................................. 9
Gambar 2.5. Konfigurasi Pin Konektor Db9................................................................... 10
Gambar 2.6. Telepon Seluler Siemens C55..................................................................... 11
Gambar 2.7. Pin Eksternal Siemens C55 ........................................................................ 12
Gambar 2.8. Konfigurasi Saklar Pembalik Putaran Motor .............................................. 12
Gambar 2.9. Modul LCD 16x2........................................................................................ 13
Gambar 2.10. Konfigurasi Proximity Sensor .................................................................... 14
Gambar 2.11. Kurva Garis Beban Dc Pada Transistor Sebagai Saklar ............................. 15
Gambar 2.12. Transistor Sebagai Saklar ........................................................................... 15
Gambar 2.13. Konfigurasi Tombol Dari Keypad 4x4 ....................................................... 16
Gambar 2.14 SMS Gateway ............................................................................................. 17
Gambar 3.1. Model Sistem .............................................................................................. 20
Gambar 3.2. Format SMS Perintah Yang Diketikkan Oleh User ................................... 20
Gambar 3.3. Rangkaian Komunikasi Serial .................................................................... 25
Gambar 3.4. Rangkaian Driver Relay ............................................................................. 26
Gambar 3.5. Rangkaian Proximity Sensor ...................................................................... 27
Gambar 3.6. Sistem Mekanis Solenoid Dan Proximity Sensor ....................................... 27
Gambar 3.7. Konfigurasi Pin Pada LCD ......................................................................... 29
Gambar 3.8. Rangkaian Keypad 4x4 ............................................................................... 30
Gambar 3.9. Rangkaian Minimum System Mikrokontroler ............................................. 31
Gambar 3.10. Flowchart Program Pada Mikrokontroler .................................................. 32
Gambar 3.11. Flowchart Subroutine Operasi Manual ...................................................... 33
Gambar 3.12. Flowchart Subroutine Kerjakan Perintah ................................................... 34
Gambar 3.13. Flowchart Subroutine Kirim Feedback Ke PC .......................................... 35
Gambar 3.14. Flowchart Utama Pada PC ......................................................................... 36
Gambar 3.15. Flowchart Subroutine Pengecekan Password ............................................ 37
xvi
Gambar 3.16. Flowchart Subroutine Kerjakan Perintah ................................................... 37
Gambar 3.17. Flowchart Subroutine Open Gate............................................................... 38
Gambar 3.18. Flowchart Subroutine Open House……………………………….…………... 39
Gambar 3.19. Flowchart Subroutine Close Gate……………………………..………….39
Gambar 3.20. Flowchart Subroutine User Baru ............................................................... .40
Gambar 3.21. Flowchart Subroutine Status ...................................................................... .40
Gambar 3.22. Flowchart Subroutine Bantuan ................................................................... .41
Gambar 3.23. Flowchart Subroutine Password Baru…………..………………………...41
Gambar 3.24. Flowchart Subroutine Blacklist……………………………...……………42
Gambar 4.1. Rangkaian Driver Motor Dc……………………………………………….44
Gambar 4.2. Solenoid Dan Proximity Sensor .................................................................. .44
Gambar 4.3. Motor Dc ..................................................................................................... 44
Gambar 4.4. Rangkaian Komunikasi Serial ..................................................................... 45
Gambar 4.5. Tombol Akses Manual ................................................................................ .45
Gambar 4.6. LCD Dan Keypad……………………...…......................................................45
Gambar 4.7. Rangkaian Minimum System Mokrokontroler …………………….....…....45
Gambar 4.8. Rangkaian Transistor Sebagai Saklar…………………………………..….46
Gambar 4.9. Pintu Gerbang Saat Tertutup ...................................................................... .46
Gambar 4.10. Pintu Gerbang Saat Terbuka ....................................................................... .46
Gambar 4.11. Layout Program Saat SMS Diterima …………………………..…………47
Gambar 4.12. SMS Konfirmasi Pada User-1 .................................................................... .48
Gambar 4.13. Hasil Pengujian Komunikasi Serial ........................................................... .49
Gambar 4.14. Tampilan Form Menu Utama ..................................................................... .53
Gambar 4.15. Tampilan Form Saat Terjadi Kesalahan Password………………….…….58
Gambar 4.16. Tampilan Form Data User .......................................................................... 59
Gambar 4.17. Tampilan Form Akses Tersimpan ..………………………………………60
xvii
DAFTAR TABEL Halaman
Tabel 2.1. Keterangan Format Pengiriman Data Serial Asinkron……………………...10
Tabel 2.2. Keterangan Pin Konektor DB9……………………………………………...11
Tabel 2.3. Deskripsi Tiap Pin Eksternal Siemens C55………………………………….12
Tabel 3.1. Jenis-Jenis Perintah Pada SMS Perintah…………………………………….26
Tabel 3.2. Jenis-Jenis SMS Konfirmasi…………………………………………………27
Tabel 4.1. Hasil Pengujian Pengolahan SMS Perintah ................................. …………...48
Tabel 4.2. Hasil Pengujian Rangkaian Driver Relay……………………………………50
Tabel 4.3. Hasil Pengujian Rangkaian Transistor Sebagai Saklar………………………51
Tabel 4.4. Hasil Pengujian Rangkaian Proximity Sensor……………………………….52
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Aktifitas yang dilakukan manusia semakin hari semakin padat dan kompleks.
Kondisi ini mengakibatkan efisiensi waktu berkembang menjadi suatu kebutuhan penting.
Untuk memenuhi kebutuhan tersebut, salah satu solusi yang logis adalah dengan
menciptakan suatu sistem kendali otomatis yang dapat membuat pekerjaan manusia
menjadi semakin mudah dan efisien. Sistem kendali otomatis dapat berupa penggunaan
remote control sebagai terminal untuk mengendalikan sebuah beban. Salah satu aplikasi
yang telah banyak dikembangkan adalah sistem pintu gerbang otomatis dengan
menggunakan remote control [1].
Akan tetapi sistem pintu gerbang otomatis tersebut dirasa masih memiliki
beberapa kekurangan. Pertama adalah cakupan jarak kontrol antara remote control dan
receiver yang terbatas, sehingga remote control harus berada dalam cakupan jarak
tertentu agar pintu gerbang dapat diakses. Kedua adalah membawa remote control saat
bepergian dirasa kurang praktis, karena besar kemungkinan untuk tertinggal atau hilang.
Ketiga adalah karena pintu gerbang hanya dapat diakses dengan menggunakan remote
control, menyebabkan penghuni rumah yang tidak membawa remote control tidak dapat
mengakses pintu gerbang. Keempat adalah remote control tersebut tidak terintegrasi
dengan perangkat elektronik rumah lainnya.
Berangkat dari masalah tersebut, penulis memiliki ide untuk membuat suatu
prototype pengendali proses buka dan tutup pintu gerbang dengan memanfaatkan layanan
SMS dengan fitur proteksi password dan pengaturan user. SMS diaplikasikan sebagai
pesan yang dapat mengendalikan proses buka tutup pintu gerbang. Sistem ini dapat
mengatasi kekurangan yang terdapat pada sistem pintu gerbang otomatis dengan
menggunakan remote control. Prototype yang akan dibuat dapat diintegrasikan dengan
perangkat elektronik lainnya sebagai bagian dari sistem otomasi rumah.
2
1.2 Batasan Masalah
Penelitian ini akan dibatasi pada permasalahan:
a. Sistem bekerja dalam cakupan jaringan Global System for Mobile Communication
(GSM).
b. Sistem komunikasi antara Personal Computer (PC) dan mikrokontroler menggunakan
komunikasi serial.
c. Menggunakan Visul Basic sebagai software interface.
d. Limit switch dan proximity sensor digunakan untuk mengontrol kondisi pintu gerbang.
e. Terdapat 4 user dengan password yang berbeda.
f. Akses secara manual dilakukan dengan menggunakan keypad 4x4 dan LCD 16x2.
1.3 Tujuan dan Manfaat Penelitian
Adapun tujuan dari penelitian ini adalah untuk menghasilkan suatu prototype
sistem pengendali proses buka dan tutup pintu gerbang pada sistem otomasi rumah
dengan memenfaatkan layanan SMS.
Manfaat yang diharapkan dari penelitian ini adalah:
a. Mempermudah proses membuka dan menutup pintu gerbang bagi kalangan menengah
ke atas, karena dapat dilakukan dengan aman dan mudah sehingga efisiensi waktu
dapat ditingkatkan.
b. Menjadi acuan, dan bahan pertimbangan untuk mengembangkan sistem pengendali
perangkat elektronis lainnya dengan menggunakan layanan SMS.
1.4 Metodologi Penelitian
Penulisan Laporan Tugas Akhir ini disusun berdasarkan langkah-langkah sebagai
berikut:
a. Studi pustaka
Metode ini dilakukan dengan cara mengumpulkan dan mempelajari berbagai
informasi, baik dari buku, jurnal, datasheet maupun internet yang dapat digunakan
sebagai referensi pendukung dalam penyusunan laporan.
3
b. Perancangan dan pembuatan alat
Perancangan meliputi perancangan hardware dan software. Pembuatan alat dilakukan
berdasarkan perancangan yang telah dilakukan. Gambar 1.1 memperlihatkan model
sistem yang akan dirancang.
Gambar 1.1 Model sistem
c. Pengujian dan pengambilan data
Pengujian dilakukan untuk mengetahui apakah sistem telah bekerja sesuai dengan
perancangan. Data yang diambil berupa level tegangan dan parameter lain yang
dibutuhkan untuk melakukan analisa.
d. Analisa data dan pembahasan
Analisa dilakukan dengan cara membandingkan data yang diperoleh dengan
perancangan yang diinginkan. Data disajikan dalam bentuk tabel perbandingan.
e. Pengambilan kesimpulan
Pengambilan kesimpulan dilakukan dengan melihat alat telah bekerja dengan baik
atau tidak.
1.5. Sistematika Penulisan
Sistematika penulisan laporan ini adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisi latar belakang masalah, tujuan dan manfaat penelitian,
batasan masalah, metodologi penelitian dan sistematika penulisan.
4
BAB II DASAR TEORI
Bab ini berisi teori-teori yang mendukung kerja sistem dan teori yang
digunakan dalam perancangan perangkat keras serta perangkat lunak.
BAB III RANCANGAN PENELITIAN
Bab ini berisi penjelasan alur perancangan sistem, format SMS yang
digunakan, perancangan perangkat keras, dan perancangan perangkat
lunak.
BAB IV HASIL DAN PEMBAHASAN
Bab ini berisi pembahasan program, hasil pengujian alat yang dibuat, dan
pembahasan data yang diperoleh.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi ringkasan hasil penelitian yang telah dilakukan dan usulan
yang berupa ide-ide untuk perbaikan atau pengembangan terhadap
penelitian yang telah dilakukan.
5
BAB II
DASAR TEORI
2.1. Arsitektur Jaringan GSM
Global System for Mobile communication (GSM) adalah sebuah standar global
untuk komunikasi bergerak digital [2]. GSM adalah nama dari sebuah grup standarisasi
yang dibentuk di Eropa tahun 1982 untuk menciptakan sebuah standar bersama telepon
selular di Eropa yang beroperasi pada daerah frekuensi 900 MHz. Unsur-Unsur yang utama
pada arsitektur GSM ditunjukkan pada Gambar 2.1. Jaringan GSM terdiri atas tiga
subsistem yaitu Mobile Station (MS), Base Station Subsystem (BSS), dan Network
Subsystem (NSS).
BSC
MSC
MS
MS
MS
MS
MS
HLR
EIR
AuC
VLR
BTS
BTS
BTS
BTS
BTS
BSC
Other
Network
BSS
NSS
Gambar 2.1. Arsitektur jaringan GSM [2].
Mobile Station terdiri dari [2] :
a. Mobile Equipment
Mobile Equipment (ME) adalah perangkat untuk transmisi radio yang dikenal dengan
istilah telepon seluler. ME memiliki identitas unik yang disebut International Mobile
Equipment Identity (IMEI).
6
b. Subcriber Identification Module
Subcriber Identification Module (SIM) card berisi International Mobile Subscriber
Identity (IMSI), secret key (kunci rahasia) untuk otentifikasi, phone book (daftar
telepon), dan pesan SMS. IMSI digunakan untuk identifikasi subscriber (pelanggan) ke
sistem. SIM card dapat diproteksi dengan password atau Personal Identity Number
(PIN).
Base Station Subsytem terdiri dari [2] :
a. Base Tranciever System
Base Tranciever System (BTS) merupakan alat tranceivers radio (transmitter receiver
radio) pada suatu area. BTS berfungsi sebagai interface komunikasi semua MS yang
aktif dan berada dalam coverage area BTS.
b. Base Station Controller
Base Station Controller (BSC) mengontrol dan mengatur beberapa BTS. BSC
bertanggung jawab untuk menjaga koneksi radio link saat terjadi panggilan dan
mengatur kepadatan lalu lintas panggilan pada areanya.
Network Subsystem terdiri dari [2] :
a. Mobile Switvhing Centres
Mobile Switching Centers (MSC) berfungsi untuk switching suatu panggilan telepon
dari jaringan internal atau dari jaringan lain (eksternal), call routing untuk subscriber
yang melakukan roaming (roaming subscriber), menyimpan informasi billing serta
database lainnya.
b. Home Location Register
Home Location Register (HLR) adalah database permanen subscriber yang digunakan
untuk menyimpan data dan profil dari subscriber. HLR dapat disatukan dengan MSC
dan VLR.
c. Visitor Location Register
Visitor Location Register (VLR) berisi database sementara dari subscriber. Database
sementera tersebut diperlukan oleh MSC untuk melayani subscriber yang berkunjung
dari area lain.
d. Authentication Center
Authentication Center (AuC) merupakan database proteksi yang menyimpan salinan
dari secret key (kunci rahasia) yang terdapat pada setiap SIM card. Proteksi ini
digunakan untuk otentifikasi dan enkripsi pada channel radio.
7
e. Equipment Identity Register
Equipment Identity Register (EIR) merupakan database yang berisi daftar valid mobile
equipment pada jaringan. Setiap MS diidentifikasikan dengan International Mobile
Equipment Identity (IMEI).
2.2. Short Message Service
SMS merupakan salah satu salah satu fitur yang disediakan dalam komunikasi
seluler berupa pesan pendek [3]. Layanan SMS distandarisasi oleh suatu badan yang
bernama European Telecomunication Standards Institute (ETSI). Layanan SMS ini
memungkinkan telepon seluler untuk mengirim dan menerima pesan teks dengan panjang
sampai dengan 160 karakter melalui jaringan GSM.
Pada saat mengirim SMS melalui telepon seluler, SMS tersebut tidak akan langsung
dikirimkan kepada telepon seluler tujuan, melainkan terlebih dahulu menuju Short
Message Service Center (SMSC). Setelah SMSC menerima SMS dari pengirim, SMSC
akan langsung mengirimkan SMS tersebut ke telepon seluler yang dituju oleh pengirim.
Gambar 2.2. menunjukkan blok diagram proses pengiriman SMS.
Gambar 2.2. Blok diagram proses pengiriman SMS [3]
SMS tersebut dapat terkirim apabila telepon seluler yang dituju dalam keadaan aktif
dan berada di dalam jangkauan layanan GSM. Jika SMS yang dikirim telah diterima, maka
telepon seluler yang dituju akan memberikan konfirmasi kepada SMSC. Selanjutnya
SMSC akan mengirimkan status yang menyatakan bahwa pesan SMS tersebut telah
diterima kepada telepon seluler pengirim. Apabila telepon seluler penerima dalam keadaan
tidak aktif, maka pesan SMS tersebut akan disimpan pada SMSC sampai validity period
terpenuhi.
Proses mengirim dan menerima SMS dapat dilakukan dengan dua mode yaitu teks
dan Protocol data Unit (PDU) [3]. Dalam mode PDU, pesan yang dikirim memiliki
8
beberapa kepala informasi. PDU tidak hanya berisi pesan teks saja, tetapi terdapat beberapa
informasi lainnya seperti nomor pengirim, nomor SMSC, dan waktu pengiriman. Semua
informasi yang terdapat dalam PDU dituliskan dalam bentuk pasangan bilangan
heksadesimal (pasangan octet). PDU SMS terdiri atas 2 tipe yaitu PDU SMS-Submit
(SMS-Pengiriman) dan PDU SMS-Deliver (SMS-Penerimaan).
2.3. Mikrokontroler AVR
Mikrokontroler AVR memiliki arsitektur Reduced Instruction Set Computing
(RISC) 8-bit. Semua instruksi dikemas dalam kode 16-bit (16 bits word) dan sebagian
besar instruksi dieksekusi dalam 1 siklus clock [4]. Secara umum, AVR dikelompokkan
menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan
AT86RFxx. Pada dasarnya, yang membedakan masing-masing kelas adalah memori,
peripheral, dan fungsinya. Gambar 2.3 memperlihatkan konfigurasi lengkap dari pin
ATMega8535.
Berdasarkan Gambar 2.3 fungsi dari tiap pin adalah [4]:
a. VCC merupakan pin yang berfungsi sebagai input pin catu daya.
b. GND merupakan ground pin.
c. Port A (PA0-PA7) merupakan input/output (I/O) dua arah dan input pin untuk Analog
to Digital Converter (ADC).
d. Port B (PB0-PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu
Timer/Counter, komparator analog, dan Serial Pheriperal Input (SPI).
Gambar 2.3. Konfigurasi pin ATMega8535 [4]
9
e. Port C (PC0-PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Two-wire
Serial Interface (TWI), komparator analog, dan Timer Oscillator.
f. Port D (PD0-PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu
komparator analog, interupsi eksternal dan komunikasi serial.
g. RESET merupakan pin yang digunakan untuk membuat mikrokontroler dalam kondisi
reset.
h. XTAL1 dan XTAL2 merupakan input pin untuk clock eksternal.
i. AVCC merupakan input pin untuk tegangan ADC.
j. AREF merupakan input pin untuk tegangan referensi ADC.
2.4. Komunikasi Serial RS232
IC serial RS232 digunakan sebagai interface (antar muka) dari PC ke perangkat
luar atau sebaliknya dari perangkat luar ke PC [5]. Level tegangan pada RS232 berbeda
dengan level tegangan digital. Level tegangan yang digunakan oleh RS232 adalah +3V s/d
+25V untuk logika “0” dan -3 s/d -25 untuk level logika “1”.
Ada dua macam sistem transmisi dalam komunikasi serial, yaitu sinkron dan
asinkron. Pada komunikasi data serial sinkron, clock dikirim bersama-sama dengan data
serial. Sedangkan pada komunikasi data serial asinkron, clock tidak dikirimkan bersama-
sama dengan data serial tetapi dibangkitkan secara sendiri-sendiri baik pada sisi pengirim
(transmitter) maupun pada sisi penerima (receiver). Komunikasi data serial asinkron ini
dikerjakan oleh Universal Asyncronous Receiver/Transmitter (UART). Gambar 2.4
memperlihatkan konfigurasi pin IC serial MAX232.
Gambar 2.4. Konfigurasi pin IC serial MAX232 [5]
10
Pada UART, kecepatan pengiriman data (baudrate) dan fase clock pada sisi
transmitter dan pada sisi receiver harus sinkron. Sinkronisasi antara transmitter dan
receiver dilakukan oleh bit ’Start’ dan bit ’Stop’. Tabel 2.1 memperlihatkan format
pengiriman data serial asinkron.
Tabel 2.1. Format pengiriman data serial asinkron [5]
Faktor lain yang cukup penting dalam transfer data serial asinkron adalah kecepatan
pengiriman. Besaran kecepatan pengiriman data serial adalah bps (bit per second) dan
biasa disebut baudrate atau cps (character per second). Baudrate yang biasa digunakan
adalah 110, 300, 1200, 4800, 9600 dan 19200.
2.5. Port Serial Personal Computer
Standar konektor komunikasi serial RS232 pada PC adalah 9 pin konektor
(konektor DB9) [6]. Gambar 2.5 memperlihatkan konfigurasi pin konektor DB9. Tabel 2.2
memperlihatkan keterangan mengenai fungsi dan deskripsi pin DB9. Piranti-piranti yang
menggunakan komunikasi serial adalah [6]:
a. Data Terminal Equipment (DTE), yaitu PC.
b. Data Communication Equipment (DCE), yaitu eksternal hardware.
Gambar 2.5. Konfigurasi pin konektor DB9 [6]
11
Tabel 2.2. Keterangan pin konektor DB9 [6]
No pin
Nama sinyal
Deskripsi Fungsi
1 DCD Data Carrier Detect
Mendeteksi boleh atau tidaknya DTE menerima data
2 RXD Received Data Sebagai jalur penerimaan data dari DCE ke DTE
3 TXD Transmit Data Sebagai jalur pengiriman data dari DTE ke DCE
4 DTR Data Terminal Ready
Memberitahukan kesiapan terminal DTE
5 GND Ground Sebagai saluran ground
6 DSR Data Set Ready Menyatakan bahwa status data tersambung dengan DCE
7 RST Request To Send
Memberitahukan DCE bahwa DTE akan mengirim data
8 CTS Clear To Send Memberitahukan DTE bahwa DCE siap menerima data
9 RI Ring Indicator Memberitahu DTE bahwa ada terminal yang menginginkan komunikasi dengan DCE
2.6. Telepon Seluler Siemens C55
Siemens C55 merupakan telepon seluler kelas menengah (middle end) yang cukup
populer di masanya [7]. Selain karena bentuknya yang kecil dan ramping,
pengoperasiannya juga tidak terlalu rumit, seperti diperlihatkan pada Gambar 2.6. Siemens
C55 juga memiliki pin konektor eksternal yang dapat dimanfaatkan untuk pengendalian
telepon seluler dari luar dengan piranti bantu mikrokontroler ataupun PC.
Gambar 2.6. Telepon seluler Siemens C55 [7]
Komunikasi data antara perangkat yang akan dirancang dengan telepon seluler
Siemens C55 menggunakan kabel penghubung tanpa rangkaian tambahan. Gambar 2.7
memperlihatkan susunan pin eksternal Siemens C55. Tabel 2.3 menjelaskan deskripsi dari
tiap pin eksternal Siemens C
12
Gambar 2.7. Pin eksternal Siemens C55 [7].
Tabel 2.3. Deskripsi tiap pin eksternal Siemens C55 [7].
No pin Nama pin Deskripsi 1 Vin Power Charging 2 Ground Saluran ground 3 Tx Data output 4 Rx Data input 5 CTS Data line for accessory 6 RTS Data line for accessory or serial cable 7 DCD Clock line for accessory 8 Audio AP Kutub positif audio 9 No connection Tidak ada koneksi 10 Audio N Kutub negatif audio 11 Ground mic Saluran ground untuk mic 12 EPP External mic
2.7. Aktuator Menggunakan Motor DC
Motor DC merupakan salah satu aktuator (penggerak) yang mudah diatur arah putar
dan kecepatannya [8]. Arah putar motor DC adalah CW (clock wise/searah jarum jam) dan
CCW (Counter clock wise/berlawanan arah jarum jam). Pengaturan arah putar motor DC
dilakukan dengan mengubah polaritas tegangannya pada terminal motor DC. Agar
pengubahan polaritas tegangan motor dapat dilakukan dengan mudah, maka pengubahan
polaritas dilakukan dengan menggunakan dua buah saklar seperti pada Gambar 2.8.
Apabila S1 berada di posisi kiri (terhubung dengan positif) maka S2 harus berada di posisi
kanan (terhubung dengan negatif) dan demikian pula sebaliknya.
Gambar 2.8. konfigurasi saklar pembalik putaran motor [8]
13
2.8. Modul Liquide Crystal Display 16x2
Jalur data Liquide Crystal Display (LCD) dapat dihubungkan langsung pada output
port mikrokontroler [9]. Sistem komunikasi data yang diinginkan bisa menggunakan mode
4 bit atau 8 bit (D0...D7). Gambar 2.9 memperlihatkan konfigurasi pin modul LCD 16x2
Gambar 2.9. Modul LCD 16x2 [9]
Fungsi dari tiap pin adalah sebagai berikut [10]:
1. VCC: Merupakan pin sumber tegangan LCD.
2. GND: Pin ini berhubungan dengan ground.
3. VLL: Merupakan pin pengatur kontras LCD, jika terhubung ground, kontras mencapai
maksimum.
4. RS (Register Select) : Merupakan pin pemilih register yang akan diakses. Untuk akses
ke register data, logika dari kaki ini adalah 1 dan untuk akses ke register perintah,
logika dari kaki ini adalah 0.
5. R/W (Read/Write): Jika pin ini dihubungkan ke ground maka modul LCD berada pada
mode penulisan.
6. E (Enable Clock LCD): Pin ini berfungsi untuk mengaktifkan clock LCD. Logika 1
pada kaki ini diberikan pada saat penulisan data.
7. D0-D7 (Data Bus) : Pin-pin ini berfungsi sebagai jalur data.
2.9. Proximity Sensor
Proximity sensor digunakan untuk memastikan bahwa pintu gerbang sudah terkunci
saat pintu gerbang tertutup dengan melihat posisi tuas solenoid. Proximity sensor terdiri
dari komponen Light Emitting Diode (LED) infrared dan fotodioda. LED infrared
14
berfungsi sebagai sebuah transmiter yang memberikan sinyal berupa cahaya ke receiver,
yakni fotodioda [10]. Apabila cahaya infrared mengenai fotodioda, maka hambatan
fotodioda akan berkurang, sebaliknya jika cahaya infrared terhalang oleh tuas solenoid,
maka hambatan fotodioda akan menjadi sangat besar. Range hambatan inilah yang akan
diubah ke dalam bentuk level tegangan digital melalui sistem Analog to Digital Converter
(ADC) pada mikrokontroler AVR ATMega8535. Gambar 2.10 menunjukkan konfigurasi
dari proximity sensor.
Gambar 2.10. Konfigurasi proximity sensor [10].
Dengan menggunakan konstanta V sebagai tegangan, I sebagai arus, dan R sebagai
hambatan, maka besarnya nilai tegangan Vout dapat dihitung dengan persamaan 2.1.
R
VI = 2.1
FOTODIODARR
VccI
+=
1
RIV .=
FOTODIODAOUT RIV .=
Atau dengan menggunakan persamaan pembagi tegangan:
xVccRR
RV
FOTODIODA
FOTODIODAOUT +
=1
2.2
15
2.10. Transistor Sebagai Saklar
Transistor dapat berfungsi sebagai saklar jika biasing dirancang untuk berada pada
titik cut–off dan saturasi [11]. Gambar 2.11 memperlihatkan kurva garis beban DC pada
transistor sebagai saklar.
Gambar 2.11. Kurva garis beban DC pada transistor sebagai saklar [11].
Jika sebuah transistor berada dalam keadaan saturasi, maka transistor tersebut
bekerja seperti sebuah saklar yang tertutup dari kolektor ke emitor. Jika transistor cut-off,
maka transistor seperti sebuah saklar yang terbuka, seperti ditunjukkan pada Gambar 2.12.
Gambar 2.12. Transistor Sebagai Saklar
a.Rangkaian Transistor b.Saat Cut-Off c. Saat Saturasi [11]
Dengan menerapkan Hukum Ohm terhadap resistor basis, besarnya arus basis dapat
dihitung dengan persamaan:
B
BEBBB R
VVI
−= 2.3
Beta DC sebuah transistor merupakan rasio arus kolektor DC dengan arus basis DC
dapat dihitung dengan persamaan 2.4, dengan β sebagai besarnya penguatan yang
diberikan transistor.
16
B
C
I
I=β 2.4
Hukum tegangan Kirchhoff mengatakan bahwa jumlah tegangan pada jalur tertutup
= 0. Jika diterapkan pada Gambar 2.16, Hukum tegangan Kirchhoff akan menghasilkan
persamaan:
)( CCCCCE xRIVV −= 2.5
2.11. Keypad
Keypad umumnya dikonfigurasikan dengan system kolom dan baris [14]. Dalam
penelitian ini keypad yang digunakan adalah keypad 4x4. Scanning yag dilakukan oleh
minimum sistem harus mampu menentukan posisi dari tombol yang ditekan. Setelah posisi
tombol yang aktif dapat ditemukan maka data tersebut diolah menjadi data tombol yang
ditekan. Gambar 2.13 menunjukkan konfigurasi tombol dari keypad 4x4.
Gambar 2.13. Konfigurasi Tombol dari keypad 4x4 [12]
2.12. SMS Gateway
SMS Gateway adalah sebuah perangkat lunak yang menggunakan bantuan
komputer dan memanfaatkan telepon seluler [13]. Gambar 2.14 menunjukkan aplikasi
teknologi yang menunjang SMS Gateway agar dapat berfungsi.
Fungsi komputer dan telepon seluler adalah untuk mengintegrasikan dan
mendistribusikan pesan-pesan yang disatukan melalui sistem informasi yaitu media SMS
yang diatasi oleh jaringan seluler. Secara khusus, sistem ini akan memiliki fungsi-fungsi
sebagai berikut:
1. Message Management dan Delivery
17
Pengaturan pesan yang meliputi manajemen prioritas pesan, manajemen
pengiriman pesan, dan manajemen antrian.
2. Korelasi
Berfungsi untuk melakukan korelasi data dengan database lain.
SMS Gateway banyak digunakan dalam berbagai proses bisnis dan usaha.
Gambar 2.14. SMS Gateway [13]
2.12.1.Gammu
Gammu merupakan sebuah perangkat lunak yang berfungsi memberikan akses dari
PC ke berbagai macam fungsi perangkat telepon selular yang terkoneksi [14]. Fungsi-
fungsi tersebut adalah mengirim atau menerima SMS, menerima MMS, menyalin atau
menulis phonebook, dan sebagainya.
Beberapa contoh perintah gammu yang digunakan untuk memanggil data-data
jaringan dari telepon seluler adalah :
1. --identify
Menunjukkan informasi penting data telepon seluler.
2. --getdisplaystatus
3. --monitor [times]
Menerima status telepon seluler dan menuliskannya secara berkala dalam bentuk standar
4. --getsecuritystatus
Menunjukkan telepon seluler ketika membutuhkan kode keamanan untuk aktif
(seperti PIN, PUK, dan lainnya).
5. --nokiasecuritycode
18
Mengijinkan user untuk mengetahui kode keamanan dari komputer
6. --setautonetworklogin
7. --listnetworks
Menunjukkan nama atau kode jaringan GSM yang dikenal
8. --getgprspoint start [stop]
9. --networkinfo
10. --siemenssatnetmon
11. --siemensnetmonact
12. --siemensnetmonitor test
13. --nokiagetoperatorname
14. --nokiasetoperatorname
2.12.2.XAMPP
XAMPP adalah perangkat lunak bebas yang mendukung banyak sistem operasi dan
merupakan sebuah kompilasi fitur dari beberapa program [15]. XAMPP juga berfungsi
sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP
Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa
pemrograman PHP dan Perl.
Nama XAMPP merupakan singkatan dari:
• X yang artinya Program ini dapat dijalankan dibanyak sistem operasi,
seperti Windows, Linux, Mac OS, dan Solaris.
• A yaitu Apache, merupakan aplikasi web server. Tugas utama Apache adalah
menghasilkan halaman web yang benar kepada user berdasarkan kode PHP
yang dituliskan oleh pembuat halaman web. jika diperlukan juga berdasarkan
kode PHP yang dituliskan,maka dapat saja suatu database diakses terlebih
dahulu (misalnya dalam MySQL) untuk mendukung halaman web yang
dihasilkan.
• M yaitu MySQL, merupakan aplikasi database server. Perkembangannya
disebut SQL yang merupakan kepanjangan dari Structured Query Language.
SQL merupakan bahasa terstruktur yang digunakan untuk mengolah database.
MySQL dapat digunakan untuk membuat dan mengelola database beserta
isinya. Kita dapat memanfaatkan MySQL untuk menambahkan, mengubah,
dan menghapus data yang berada dalam database.
19
• P yaitu PHP, bahasa pemrograman web. PHP memungkinkan kita untuk
membuat halaman web yang bersifat dinamis. Sistem manajemen basis
data yang sering digunakan bersama PHP adalah MySQl. Namun PHP juga
mendukung sistem manajemen database Oracle, Microsoft Access, Interbase,
d-base, PostgreSQL, dan sebagainya.
• P yaitu Perl, bahasa pemrograman.
Bagian-bagian XAMPP yang biasa digunakan pada umumnya adalah sebagai berikut :
1. Htdoc adalah folder tempat meletakkan berkas-berkas yang akan dijalankan, seperti
berkas PHP, HTML dan skrip lain.
2. PhpMyAdmin merupakan bagian untuk mengelola basis data MySQL yang ada
dikomputer.
3. Kontrol panel yang berfungsi untuk mengelola layanan (service) XAMPP. Seperti
menghentikan (stop) layanan, ataupun memulai (start).
2.13.Database
Database adalah kumpulan informasi yang disimpan di dalam komputer secara
sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk
memperoleh informasi dari database tersebut [16]. Perangkat lunak yang digunakan untuk
mengelola dan memanggil query database disebut database management system (DBMS).
Pada perancangan ini database digunakan untuk menyimpan data user dan data BTS.
20
BAB III
PERANCANGAN
3.1. Model Sistem
Sistem yang akan dibangun terdiri atas dua subsistem, yaitu subsistem hardware
(telepon seluler GSM tipe Siemens C55, mikrokontroler, motor DC, keypad, LCD,
komunikasi serial RS232) dan subsistem software. Gambar 3.1 memperlihatkan model
sistem yang akan dibangun.
Gambar 3.1. Model sistem
Sistem yang dirancang akan bekerja apabila user ingin membuka atau menutup
pintu gerbang secara otomatis dengan mengirimkan SMS perintah. Gambar 3.2
memperlihatkan format SMS perintah yang diketikkan oleh user. Kepala-kepala informasi
pada format SMS perintah mewakili nomor user, password, dan perintah yang diberikan.
Kepala-kepala informasi diketik tanpa menggunakan spasi. Nomor user dan password
hanya terdiri atas data numerik, sedangkan pada perintah dapat terdiri atas data alfabet atau
alfanumerik.
Nomor user Password Perintah
Gambar 3.2. Format SMS perintah yang diketikkan oleh user
21
PC melalui media telepon seluler akan menerima SMS perintah untuk melakukan
proses buka atau tutup pintu gerbang. SMS yang diterima akan menjadi input bagi PC
untuk selanjutnya diproses menjadi data nomor user, password, dan perintah. Keseluruhan
data yang diterima akan dibandingkan dengan database. PC kemudian akan mengirimkan
instruksi ke minimum system untuk melakukan perintah sesuai permintaan user.
Minimum system selanjutnya akan menterjemahkan instruksi sesuai dengan SMS
yang dikirimkan. Misalkan pada perintah ‘open gate’, sebelum minimum system
memerintahkan motor DC untuk menggeser pintu gerbang, maka minimum system terlebih
dahulu akan memeriksa kondisi sistem penguncian dan kondisi limit switch untuk
memastikan kondisi pintu gerbang. Sistem penguncian diperiksa berdasarkan output
proximity sensor. Apabila kondisi pintu gerbang sesuai (tertutup), maka motor DC akan
bergerak sesuai perintah minimum system untuk menggeser pintu gerbang sesuai perintah.
Setelah perintah selesai dilaksanakan, maka user akan menerima SMS konfirmasi yang
memberitahukan bahwa perintah ‘open gate’ telah dilaksanakan. Kondisi pintu gerbang
akan selalu update pada interface PC melalui mekanisme close loop dalam minimum
system.
Akses secara manual hanya meliputi perintah membuka dan menutup pintu
gerbang. Akses secara manual dilakukan dari dua tempat, yaitu dari bagian luar dan bagian
dalam pintu gerbang. Akses untuk membuka pintu gerbang dari bagian luar dilakukan
dengan menggunakan mekanisme password. Proses memasukkan password dilakukan
melalui tombol keypad dengan dibantu tampilan pada LCD. Setelah password dimasukkan,
sistem akan membandingkan input tersebut dengan database untuk diperiksa
kebenarannya. Akses dari bagian dalam pintu gerbang menggunakan mekanisme
penekanan push button. Terdapat tiga buah tombol yang dapat digunakan, yaitu “OPEN
GATE”, “OPEN HOUSE”, dan “CLOSE GATE”. Pengaksesan pintu gerbang melalui
penekanan push button dapat dilakukan secara langsung tanpa mekanisme password.
3.1.1. Pengaturan Nomor User
Jumlah user yang diperbolehkan untuk mengakses pintu gerbang dibatasi maksimal
empat orang. Masing-masing user diberi nomor user mulai dari 1 sampai dengan 4. Nomor
ini berfungsi sebagai identitas pengenal user. Pada kondisi awal pengoperasian sistem,
hanya user-1 yang aktif. Dalam mekanisme sistem, user-1 memiliki kekuasaan tunggal
untuk mengelola user lainnya. Pengelolaan user lainnya meliputi proses pengaktifan dan
22
penonaktifan nomor user. Pengaktifan user-2, user-3, dan user-4 hanya dapat dilakukan
oleh user-1 dengan mengirimkan SMS daftar, sedangkan untuk penonaktifan dilakukan
dengan mengirimkan SMS blacklist.
3.1.2. Pengaturan Password
Mekanisme password berlaku untuk akses secara manual dari bagian luar pintu
gerbang dan akses melalui pengiriman SMS. Password awal diberikan lewat SMS
konfirmasi. SMS konfirmasi dikirim oleh sistem setelah proses pengaktifan nomor user
selesai. User dapat mengubah password awal dengan mengirimkan SMS ganti password.
Untuk menjaga keamanan, maka kesalahan dalam memasukkan password oleh user-2,
user-3, dan user-4 dibatasi maksimal tiga kali berturut-turut. Minimum system akan
mencatat jumlah kesalahan memasukkan password oleh user-2, user-3, dan user-4.
Perhitungan kesalahan user akan dihapus apabila user tersebut berhasil memasukkan
password yang benar maksimal pada kesempatan ketiga. Jika user tersebut gagal
memasukkan password untuk pada kesempatan ketiga, maka nomer user tersebut akan
menjadi nonaktif.
Dalam mekanisme sistem, hanya user-1 yang dapat memasukkan password tanpa
resiko penonaktifan nomor user. Pengaturan ini dimaksudkan agar user-1 yang berfungsi
sebagai ‘admin’ dalam sistem pintu gerbang dapat terus aktif. Apabila suatu saat user-2,
user-3, dan user-4 menjadi nonaktifkan karena salah memasukkan password, maka user-1
masih dapat diandalkan untuk melakukan akses pada pintu gerbang maupun untuk
mengaktifkan kembali user dengan mengirimkan SMS daftar. Karena user-1 dapat
memasukkan password tanpa resiko penonaktifan, maka untuk mencegah terjadinya
penyalahgunaan, nomor user user-1 hanya dapat melakukan akses terhadap sistem dengan
menggunakan nomor telepon yang sama yang telah ditetapkan sebelumnya dalam sistem.
Pembatasan ini menjaga agar user yang menggunakan nomor user-1 saat mengirimkan
SMS perintah adalah benar-benar user-1, sehingga dapat mencegah penyalahgunaan SMS
daftar dan SMS blacklist.
3.1.3. SMS Perintah
SMS perintah adalah SMS yang dikirimkan oleh user untuk memerintahkan
minimum system untuk melakukan tugas tertentu. Tabel 3.1 memperlihatkan jenis-jenis
perintah pada SMS perintah. SMS perintah diwakilkan oleh beberapa karakter. Karakter
23
tersebut dapat berupa angka dan huruf. Teks SMS pada perintah ganti password dalam
tabel diganti dengan variabel ’xxxx’ yang nanti disesuaikan dengan password baru yang
diinginkan user.
Tabel 3.1. Jenis-jenis perintah pada SMS perintah
Perintah Teks SMS Keterangan
Open gate og Pintu gerbang terbuka untuk sementara
Open house oh Pintu gerbang terbuka Close gate cg Pintu gerbang tertutup
Daftar nu Mengaktifkan user baru
Status gs Meminta status dari pintu gerbang
Ganti password pxxxx Mengganti password lama, xxxxpassword baru dalam 4 digit angka
Blacklist xx Menonoktifkan user tertentu, xnomer user selain user1, yaitu 2, 3, atau 4
Bantuan hm Meminta format pengetikan teks SMS untuk perintah open gate, open house, close gate
3.1.4. SMS Konfirmasi
SMS konfirmasi adalah SMS yang dikirimkan oleh sistem kepada user untuk
memberitahukan informasi terkait respon terhadap suatu perintah dan pemberitahuan
kesalahan. SMS konfirmasi diwakilkan oleh beberapa karakter. Format SMS pada SMS
konfirmasi tidak sama dengan format SMS perintah, dimana terdiri dari susunan kepala
informasi nomor user, password, dan perintah secara berurutan. SMS konfirmasi tidak
memiliki format baku yang tetap, baik untuk jumlah karakter pada SMS maupun untuk
jenis karakter yang digunakan (huruf dan angka). Ini dimaksudkan agar informasi yang
ingin disampaikan dapat lebih mudah dimengerti oleh user, yaitu dengan menggunakan
kata-kata maupun singkatan-singkatan yang mewakili tanggapan terhadap SMS perintah
yang dikirimkan oleh user. Tabel 3.4 memperlihatkan Jenis-jenis SMS konfirmasi terkirim
yang diterima user. Default password saat user-1aktif adalah ‘1234’, sedangkan untuk user
2, 3, dan 4 akan diberikan password awal secara acak. Password ini dapat segera diganti
oleh masing-masing user dengan menggunakan SMS ganti password. Tabel 3.2
memperlihatkan SMS konfirmasi yang dikirim oleh sistem.
24
Tabel 3.2. Jenis-jenis SMS konfirmasi
Keterangan Teks SMS Nomor pengirim salah Akses ditolak. User tidak aktif Maaf, anda belum terdaftar. Password salah Maaf, password anda salah. SMS Status Pintu gerbang terbuka. SMS Status Pintu gerbang tertutup. SMS Tambah user baru Maaf, database penuh. SMS Tambah user baru Nomor user = ’y’ , password = ’xxxx’.
Bantuan Ketik SMS dengan format (nouser password perintah) tanpa menggunakan spasi.
Format SMS salah Maaf, perintah yang anda kirim salah. Pergantian password Password telah berhasil diganti. Blacklist Blacklist berhasil. Kesalahan Kesalahan ke 3, status user tidak aktif. Penguncian gagal Pintu gerbang tertutup, penguncian gagal
3.2. Perancangan Subsistem Hardware
3.2.1. Perancangan RS232
Level tegangan TTL dari telepon selular GSM harus diubah ke level tegangan
RS232 pada PC, oleh karena itu digunakan rangkaian komunikasi serial seperti
diperlihatkan pada Gambar 3.3. Kapasitor C1 digunakan untuk menggandakan tegangan
+5V pada input menjadi +10V pada C2 yang terhubung pin V+ sebagai bagian dari
konversi pada operasi RS232. Proses konversi kedua menggunakan kapasitor C3 untuk
membalikkan tegangan +10V menjadi -10V pada c4 yang tehubung dengan pin V-. Nilai
kapasitor C1, C2, C3, dan C4 adalah sebesar 1 uF. Nilai kapasitor tersebut disesuaikan
dengan nilai pada datasheet.
25
Gambar 3.3. Rangkaian komunikasi serial.
Nilai R1 ditentukan agar supply arus maksimum pada IC Max232 sesuai dengan
datasheet adalah sebesar 10mA dan arus typical sebesar 8mA. Berdasarkan persamaan 2.1,
maka nilai 1R dapat diperoleh melalui perhitungan sebagai berikut:
Icc
VccR =1
31 108
5−=
xR
Ω= 6251R
Nilai resistor sebesar 680Ω digunakan karena nilai resistor sebesar 625Ω tidak
terdapat di pasaran. Dalam perancangan ini hanya digunakan dua pin DB9 untuk
komunikasi data, yakni pin 2 (Receive/RX) dan pin 3 (Transmitted/TX).
3.2.2. Driver relay
Komponen dari rangkaian driver relay terdiri dari transistor BC337, dioda IN4002
dan relay. Relay yang digunakan adalah relay lima kaki dengan tegangan 12V dan arus
maksimal 3A. Kumparan magnetik relay akan bereaksi jika terdapat input tegangan DC
sebesar 12V dan membutuhkan arus minimum sebesar 25mA. Gambar 3.4 menunjukkan
gambar dari rangkaian driver relay yang dirancang.
26
VCC 12V 220 VAC
D1
1N4002
R116 K
Q1
BC337
12
3
K1
RELAY
34
5
68
712
VBB
Gambar 3.4. Rangkaian driver relay
Nilai β transistor BC337 ditentukan sebesar 100. Dengan menggunakan nilai arus
untuk menggerakkan kumparan magnetik relay sebagai nilai arus IC transistor, nilai arus IB
dapat dihitung berdasarkan persamaan (2.5) sebagai berikut:
βC
B
II =
AxAx
I B3
3
1025,0100
1025 −−
==
Nilai tegangan input basis (VBB) menggunakan nilai tegangan output dari port
mikrokontroler, yaitu sebesar 5V. Dengan nilai tegangan VBB sebesar 5V, besarnya nilai
resistor basis R1 dapat dihitung berdasarkan persamaan (2.4) sebagai berikut:
B
BEBB
I
VVR
−=1
Ω=−= − 172001025,0
7,0531 Ax
VVR
1R dipilih sebesar 16KΩ dengan pertimbangan lebih mudah didapat di pasaran dan
agar arus yang dihasilkan sedikit lebih besar dari batas minimumnya.
3.2.3. Perancangan Sistem Penguncian
Sistem penguncian pintu gerbang menggunakan solenoid sebagai aktuator dan
proximity sensor untuk memeriksa kondisi pintu gerbang. Gambar 3.5 menunjukkan
rangkaian elektronis solenoid dan proximity sensor. LED akan menembakkan cahaya
27
dalam posisi berhadapan dengan photodiode. Jika tembakan cahaya LED tertutup tuas
solenoid, maka photodiode akan memberikan hambatan yang sangat besar dan memberikan
output bernilai 5V atau logika ‘1’ pada mikrokontroler. Jika tembakan cahaya LED tidak
tertutup tuas solenoid, maka output photodiode bernilai 0V atau berlogika ‘0’. Output ini
kemudian akan dipakai untuk mendeteksi kondisi sistem penguncian pintu gerbang.
Gambar 3.6 menunjukkan sistem mekanis rangkaian solenoid yang dilengkapi dengan
proximity sensor.
Gambar 3.5. Rangkaian proximity sensor
Gambar 3.6. Sistem mekanis solenoid dan proximity sensor
Rangkaian solenoid diberi pass transistor karena solenoid membutuhkan arus yang
cukup besar untuk mengaktifkannya. Berdasarkan datasheet transistor TIP 41, jika
ditentukan Ic = 0,5 A, maka akan diperoleh nilai β =100. Sehingga nilai RB dapat dihitung
dengan menggunakan persamaan:
B
BEuCB I
VVR
−=
Saat kondisi unlocking VuC=5V dan VBE=0,7V, shingga transistor mengalami
saturasi dan transistor menjadi sebuah saklar tertutup. Nilai RB dapat dihitung sabagai
berikut:
28
mAAI
I CB 10
100
5,0 ===β
Ω=
−=
−=
−
47010.10
7,053
B
B
B
BEuCB
R
R
I
VVR
LED mendapat suplai tegangan sebesar 5V. Agar arus yang melewati LED tidak
melebihai ketentuan pada datasheet sebesar 60mA, maka dipasang resistor secara seri
untuk menghambat arus. Arus yang melewati LED dibatasi sebesar 15mA, sehingga nilai
resistor pembatas arus dapat diperoleh melalui perhitungan sebagai berikut:
I
VR =
Ω== 33315
5
mA
VR
Resistor yang dipasang pada photodiode adalah sebagai resistor pull up, oleh
karena itu diperlukan nilai hambatan yang besar, yakni ditetapkan R=200kΩ. Melalui pra
penelitian, didapat data pengukuran hambatan fotodioda saat terkena cahaya LED =
4,3MΩ dan saat tidak terkena cahaya LED = 3,7KΩ . Dari data tersebut dapat dihitung
tegangan VD yang dibaca oleh port mikrokontroler saat proses unlocking sebagai berikut:
VD = Vxxx
xxVcc
RR
R
FOTODIODA
FOTODIODA 5103,410200
103,463
6
1 +=
+
= 4,778V
Perhitungan tegangan VD yang dibaca oleh port mikrokontroler saat proses locking
adalah sebagai berikut:
VD = Vxk
xVccRR
R
FOTODIODA
FOTODIODA 53500200
3500
1 +=
+
= V086,0
ADC mikrokontroler ATMega 8535 merupakan ADC dengan maksimal jumlah bit
adalah 10 bit, tetapi pada perancangan digunakan 8 bit ADC. Tegangan rangkaian ini
dikonversi oleh ADC menjadi 256 level (28). Pengaturan bit-bit biner dari 256 level yang
29
ada dilakukan melalui program pada mikrokontroler. Setiap kenaikan 1 bit biner
menandakan kenaikan tegangan sebesar:
256
5V
level
Vport =
mV53,19=
Dari data tersebut dapat diketahui level ADC dari output sensor sebagai berikut:
Ulocking 65,24401953,0
778,4 =V
V
Locking 40,401953,0
086,0 =V
V
Dari nilai ADC yang telah diketahui akan diproses oleh mikrokontoler sehingga
memberikan logika high (1) atau low (0) yang sebelumnya telah ditentukan melalui
program. Dari logika yang diberikan akan memberi informasi apakah pintu gerbang dalam
keadaan tertutup atau terbuka.
3.2.4. Liquid Crystal Display
Display karakter pada LCD diatur oleh pin Enable (EN), Register Select (RS), dan
Read/Write (RW). Jalur EN digunakan untuk memberitahu LCD bahwa terdapat data yang
sedang dikirimkan. Untuk mengirimkan data ke LCD, maka melalui program EN harus
dikondisikan berlogika low “0” dan high “1” pada dua jalur kontrol RS dan RW. Gambar
3.7 memperlihatkan konfigurasi pin pada LCD.
Gambar 3.7. Konfigurasi pin pada LCD
30
Pemasangan resistor R1 pada input VCC LCD (pin2) adalah bertujuan agar
maksimum arus yang masuk melalui input VCC adalah sebesar 3mA sesuai dengan
datasheet. Berdasarkan persamaan 2.1, nilai R1 dapat dihitung sebagai berikut:
Ω=== − 1666103
531
xI
VR
Arus typical LED backlight LCD (pin15) pada datasheet adalah sebesar 156mA
dan tegangan maksimum sebesar 4,3V. Oleh karena itu, komponen resistor dan dioda yang
terpasang seri dengan sumber tegangan diperlukan sebagai penurun tegangan, Pengaruh
dioda terhadap tegangan LED backlight LCD dapat dijelaskan sebagai berikut:
DIODALED VVccV −=
VVVLED 7.05 −=
VVLED 3.4=
Resistor 2R yang dipasang seri dengan dioda bertujuan untuk membatasi arus yang
masuk ke pin 15. Nilai 2R dapat dihitung sebagai berikut:
Ω== − 5.2710156
3.432 x
R
3.2.5. Keypad
Keypad digunakan untuk mengakses pintu gerbang dari bagian luar, yaitu dengan
memasukkan password. Keypad yang digunakan adalah keypad 4x4. Program akan
melaksanakan pengecekan kolom dan baris secara terus menerus untuk mendeteksi
penekanan tombol. Kombinasi baris dan kolom yang ditekan akan diterjemahkan sistem
menjadi informasi penekanan tombol. Gambar 3.8 memperlihatkan rangkaian keypad 4x4.
J4
PortB
12345678
J5
VCC
1
J6
Key pad
13579
2468
10
Gambar 3.8. Rangkaian keypad 4x4
31
3.2.6. Rangkaian Minimum System Mikrokontroler
Minimum system mikrokontroler berfungsi sebagai media interface antara PC dan
unit I/O. Kristal yang digunakan dalam minimum system mikrokontroler ini adalah kristal
internal yang diatur melalui program. Rangkaian minimum system mikrokontroler dapat
dilihat pada Gambar 3.9.
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
VCC
R3200
R733
R4330
D5DIODE
D4LED IRD2
PHOTODIODE
12
R82k
R11330
Tombol RESET
C8
10nF
C1
1u
C4
1u
U1
MAX232A
13
81110
1
34
5
2
6
12
9
14
7
1615
R1IN
R2INT1INT2IN
C+
C1-C2+
C2-
V+
V-
R1OUT
R2OUT
T1OUT
T2OUT
VCCGND
C3
1u
C2
1u
U22
ATMega8535
9
1213
11
30
32
3110
2223242526272829
1415161718192021
12345678 40
39383736353433
RESET
XTAL2XTAL1
GND
AVCC
AREF
GNDVCC
PC0/A8PC1/A9
PC2/A10PC3/A11PC4/A12PC5/A13PC6/A14PC7/A15
PD0/RXDPD1/TXDPD2/INT0PD3/INT1PD4PD5/OC1APD6/WRPD7/RD
PB0/T0PB1/T1PB2/AIN0PB3/AIN1PB4/SSPB5/MOSIPB6/MISOPB7/SCK PA0/AD0
PA1/AD1PA2/AD2PA3/AD3PA4/AD4PA5/AD5PA6/AD6PA7/AD7
J12
CON10A
13579
246810
P1
CONNECTOR DB9
594837261
LCD
12345678910111213141516
SW4
SW KEY-Y1011
18
3SW6
SW KEY-Y1011
18
3
SW7
SW KEY-Y1011
18
3
SW8
SW KEY-Y1011
18
3
SW5
SW KEY-Y1011
18
3
Q7
TIP 41C
R10
430
Solenoid
12
R12
16k
R12
16k
J14CON2
1 2
Q8BC337
12
3
K1
RELAY SPDT
35
412
D3
DIODE
K1
RELAY SPDT
35
412
D3
DIODE
Q8BC337
12
3
Gambar 3.9. Rangkaian minimum system mikrokontroler
3.3. Perancangan Subsistem Software
3.3.1. Perancangan program pada mikrokontroler
Dalam perancangan sistem ini software yang digunakan sebagai programmer
mikrokontroler adalah BASCOM AVR. BASCOM AVR adalah program yang
menggunakan bahasa basic yang ringkas dan dirancang untuk compiler bahasa
mikrokontroler AVR. Gambar 3.10 menunjukkan flowchart utama pemrograman pada
mikrokontroler.
Pada saat sistem diaktifkan, mikrokontroler akan menerima input dari PC berupa
data password user aktif dan jumlah kesalahan user. Hal ini dilakukan untuk keperluan
32
sinkronisasi dengan database pada PC. Jumlah kesalahan yang dimaksud adalah jumlah
kesalahan user dalam memasukkan password. Input data dari PC akan disimpan dalam
beberapa variabel, contoh: password1 dan salah1. Variabel-variabel tersebut akan
digunakan sebagai data pembanding dalam proses yang berhubungan dengan akses
manual. Selanjutnya mikrokontroler akan menunggu instruksi yang berasal dari penekanan
pushbutton, keypad, dan input dari PC untuk membuka pintu gerbang, menutup pintu
gerbang maupun sinkronisasi dengan database PC. Jika instruksi dari PC (’open gate’ dan
’close gate’) telah selesai dilaksanakan, maka mikrokontroler akan memeriksa sistem
penguncian dan mengirimkan feedback kepada PC melalui port serial. Feedback yang
diberikan berisi informasi kondisi proximity sensor dan limit switch. Sebagai contoh, jika
PC mengirim instruksi ’close gate’, maka setelah pintu gerbang tertutup mikrokontroler
akan memeriksa kondisi output proximity sensor. Jika tuas solenoid telah turun, maka
mikrokontroler akan mengirimkan variabel ”ok” sebagai informasi bahwa pintu gerbang
telah tertutup dan penguncian telah berhasil.
Gambar 3.10. Flowchart program pada mikrokontroler
33
3.3.2. Subroutine Operasi Manual
Subroutine operasi manual akan dimulai saat mikrokontroler menditeksi penekanan
tombol keypad atau pushbutton. Jika pada proses yang berasal dari penekanan keypad, user
salahan memasukkan password, maka mikrokontroler akan mengirim data kesalahan untuk
memperbaharui database yang terdapat pada PC. Sebaliknya jika user memasukkan
password yang benar, maka mikrokontroler akan mengirim data ke PC untuk mengubah
database jumlah kesalahan tersebut menjadi 0 kembali. Gambar 3.11 memperlihatkan
flowchart subroutine operasi manual.
Gambar 3.11. Flowchart subroutine operasi manual
3.3.3. Subroutine Kerjakan Perintah
Subroutine kerjakan peintah berfungsi untuk mengatur proses membuka dan
menutup pintu gerbang. Pada operasi open house, proses dimulai dengan mengaktifkan
driver relay, yaitu dengan memberikan logika 1 pada salah satu pin input. Kemudian
mikrokontroler akan melakukan proses looping untuk menunggu picuan logika tinggi dari
34
portd.7 yang terhubung limit switch. Perubahan logika tersebut menandakan pintu gerbang
telah sampai di posisi yang diinginkan. Selanjutnya sistem penguncian akan dikondisikan
menjadi locking. Operasi lain bekerja dengan prinsip yang sama, yaitu dengan menunggu
picuan dari limit switch untuk kemudian menonaktifkan motor DC. Gambar 3.12
memperlihatkan Flowchart subroutine kerjakan perintah.
\
Gambar 3.12. Flowchart subroutine kerjakan perintah
35
3.3.4. Subroutine Kirim Feedback ke PC
Subroutine ini berfungsi untuk menginformasikan kepada PC kondisi pintu gerbang
setelah eksekusi perintah dilaksanakan oleh mikrokontroler. Gambar 3.13 memperlihatkan
flowchart kirim feedback ke PC.
START
Open
gate?
Locking?
Kirim “gagal”
ke PC
Kirim “ok” ke
PC
Close
gate?
Locking?
Kirim “gagal”
ke PC
Kirim “ok” ke
PC
Kirim “ok” ke
PC
STOP
Ya
Tidak Tidak
TidakTidak
Ya Ya
Gambar 3.13. Flowchart subroutine kirim feedback ke PC
3.4. Perancangan Program pada Personal Computer
Perancangan program pada PC dimaksudkan untuk mengatur komunikasi antara
telepon seluler, PC dan mikrokontroler, mengelola database. PC akan mengolah perintah
dari SMS yang diterima kemudian mengirimkan instruksi-instruksi ke mikrokontroler.
Flowchart program utama pada PC dapat dilihat pada gambar 3.14.
36
START
Inisialisasi
Telepon
seluler
Ada SMS
masuk
Simpan isi SMS dan nomor
pengirim pada database
Cek nomor user
dan password
Kerjakan perintah
Simpan record SMS
Hapus SMS yang telah
diolah dari database
Kirim instruksi pengecekan
kondisi pintu gerbang ke
mikrokontroler
Nomor user
& password
Benar?
Ya
Tidak
Ya
Tidak
Gambar 3.14. Flowchart utama pada PC
3.4.1. Subroutine Cek Nomor User dan Password
Pengecekan password dilakukan dengan membandingkan data nomor user dan
password dengan database yang terdapat pada PC. Gambar 3.15 memperlihatkan
flowchart subroutine pengecekan password.
37
Gambar 3.15. Flowchart subroutine pengecekan password
3.4.2. Subroutine Kerjakan Perintah
Subroutine ini berisi selector untuk mengidentifikasi perintah yang dikirimkan user.
Gambar 3.16 memperlihatkan flowchart subroutine kerjakan perintah.
Gambar 3.16. Flowchart subroutine kerjakan perintah
38
3.4.3. Subroutine Open Gate
Subroutine ini bertugas untuk mengirim instruksi ke mikrokontroler untuk
melaksanakan perintah ‘open gate’ dan menunggu feedback yang diberikan
mikrokontroler. Jika feedback telah diterima, maka PC akan mengirimkan SMS yang
mengkonfirmasi bahwa perintah telah dilaksanakan. SMS konfirmasi dapat pula berisi
informasi bahwa penguncian gagal. Gambar 3.17 mempertlihatkan flowchart subroutine
open gate.
Gambar 3.17. Flowchart subroutine open gate
3.4.4. Subroutine Open House
Subroutine ini bertugas untuk mengirim instruksi ke mikrokontroler untuk
melaksanakan perintah ‘open house’ dan menunggu feedback yang diberikan
mikrokontroler. Jika feedback telah diterima, maka PC akan mengirimkan SMS konfirmasi
bahwa perintah telah dilaksanakan. Gambar 3.18 mempertlihatkan flowchart subroutine
open house.
39
START
Cek kondisi
pintu gerbang
Sesuai?
Kirim
variabel”d”
Balasan dari
mikrokontroler
?
Kirim SMS
konfirmasi
STOP
Ya
Tidak
Ya
Tidak
Gambar 3.18. Flowchart subroutine open house
3.4.5. Subroutine Open House
Subroutine ini bertugas untuk mengirim instruksi ke mikrokontroler untuk
melaksanakan perintah ‘close gate’ dan menunggu feedback yang diuberikan
mikrokontroler. Jika feedback telah diterima, maka PC akan mengirimkan SMS konfirmasi
bahwa perintah telah dilaksanakan. Gambar 3.19 mempertlihatkan flowchart subroutine
close gate.
Gambar 3.19. Flowchart subroutine close gate
40
3.4.6. Subroutine user baru
Subroutine ini bertugas menambah user baru. Perintah hanya dapatdilakukan oleh
user-1 dengan mekanisme pengecekan nomor pengirim. Apabila tidak terdapat tempat
untuk user baru, maka user-1 akan mendapat SMS konfirmasi bahwa database penuh. Jika
database belum penuh, maka tempat yang belum terisi akan diisi nomor user dan default
password. Default password diisi 4 digit angka yang diacak secara random. Gambar 3.20
memperlihatkan flowchart subroutine user baru.
Gambar 3.20. Flowchart subroutine user baru
3.4.7. Subroutine Status
Subroutine ini bertugas memeriksa satus pintu gerbang yang tertampil pada form
dan mengirimkan SMS konfirmasi ke nomor pengirim. Gambar 3.21 memperlihatkan
flowchart subroutine status.
Gambar 3.21. Flowchart subroutine status
41
3.4.8. Subroutine Bantuan
Subroutine ini bertugas mengirimkan SMS konfirmasi kepada user yang berisi
keterangan format pengiriman SMS. Gambar 3.22 memperlihatkan flowchart subroutine
bantuan.
START
Kirim SMS
konfirmasi
STOP
Gambar 3.22. Flowchart subroutine bantuan
3.4.9. Subroutine Password Baru
Subroutine ini bertugas mengganti data password pada database sesuai masukan
yang diberikan user. Gambar 3.23 memperlihatkan flowchart subroutine bantuan.
Gambar 3.23. Flowchart subroutine password baru
3.4.10.Subroutine Blacklist
Subroutine ini akan menghapus database nomor user tertentu sesuai masukan yang
diberikan oleh user-1. Setelah usermenjadi tidak aktif, PC akan mensinkronkan database
dengan mikrokontroler. Gambar 3.16 memperlihatkan flowchart subroutine blacklist.
42
Gambar 3.24. Flowchart subroutine balcklist
3.5. Perancangan Database
Sistem ini membutuhkan database untuk menyimpan data user, record SMS,
menyimpan SMS yang diterima, dan mengirimkan SMS. Database akan dibuat
menggunakan software Microsoft Access dan software MySQL Server untuk manajemen
database. Semua database yang digunakan berbentuk tabel.
Database dari software MySQL Server adalah database yang diperlukan oleh
software Gammu untuk melakukan pembacaan dan pengiriman SMS dari PC. Database
yang digunakan pada software MySQL Server adalah database SMS dengan tabel yang
digunakan adalah Tabel inbox dan Tabel outbox. Field yang digunakan pada Tabel inbox
adalah sebagai berikut:
1. Field SenderNumber
Field SenderNumber digunakan untuk menyimpan nomor pengirim dari SMS yang
terdapat pada inbox telepon seluler.
2. Field TextDecoded
Field TextDecoded digunakan untuk menyimpan isi SMS yang terdapat pada inbox
telepon seluler dalam bentuk text.
43
Field yang digunakan pada Tabel outbox adalah sebagai berikut:
1. Field DestinationNumber
Field DestinationNumber digunakan untuk menyimpan nomor tujuan dari SMS yang
akan dikirimkan.
2. Field TextDecoded
Field TextDecoded digunakan untuk menyimpan isi SMS yang yang akan dikirimkan
dalam bentuk text.
Database data user berisi data-data informasi user. Database data user dibuat
menggunakan software Microsoft Access. Tabel yang digunakan pada Database data user
adalah Tabel Pengirim terdiri dari beberapa field yaitu:
1. Nouser
Field nouser berisi nomor user yang yang aktif.
2. Password
Field password berisi password milik user yang aktif.
3. Notelepon
Field notelepon hanya terisi dengan data milik user-1.
4. Joindate
Field joindate berisi tanggal saat user diaktifkan.
5. Kesalahan
Field kesalahan berisi jumlah kesalahan user.
Database record SMS berisi rekaman akses 10 user terakhir terhadap sistem. Database
record SMS dibuat menggunakan software Microsoft Access. Tabel yang digunakan pada
Database record SMS adalah Tabel Pengirim terdiri dari beberapa field yaitu:
1. Isi_sms
Field isi_sms berisi teks sms yang dikirimkan oleh user.
2. Waktu
Field waktu berisi keterangan kapan SMS tersebut diterima sistem.
3. Nomor_pengirim
Field nomor_pengirim berisi nomor pengirim SMS.
4. Keterangan
Field keterangan berisi keterangan pengolahan SMS
44
BAB IV
HASIL DAN PEMBAHASAN
4.1. Gambar Fisik Hardware
Dalam penelitian ini Hardware yang dibuat terdiri dari rangkaian driver motor DC,
keypad, LCD, proximity sensor, tombol akses manual, komunikasi serial, minimum system
mikrokontroler, rangkaian regulator tegangan, dan prototype pintu gerbang. Gambar fisik
seluruh hardware dapat dilihat pada Gambar 4.1 - 4.10.
Gambar 4.1. Rangkaian driver relay
Gambar 4.2. Solenoid dan proximity sensor
Gambar 4.3. Motor DC
45
Gambar 4.4. Rangkaian komunikasi serial
Gambar 4.5. Tombol akses manual
Gambar 4.6. LCD dan keypad
Gambar 4.7. Rangkaian minimum system mokrokontroler
46
Gambar 4.8. Rangkaian transistor sebagai saklar
Gambar 4.9. Pintu gerbang saat tertutup
Gambar 4.10. Pintu gerbang saat terbuka
4.2. Pengujian SMS Perintah
Pengujian SMS perintah dilakukan untuk mengetahui hasil pengolahan SMS
perintah yang tertampil pada interface program dan eksekusi pada prototype pintu gerbang.
Pengujian dilakukan dengan mengirim seluruh SMS perintah sesuai dengan format SMS
perintah pada perancangan. Sebelum pengujian dilakukan, database user-1 telah diisi
dengan password: 2345 dan nomor telepon +6281328017887.
Ketika SMS yang dikirim adalah 12345oh, maka sistem akan membandingkan
nomor pengirim, password, dan perintah dengan database. Jika nomor pengirim,
password, dan perintah benar, maka program pada PC akan mengirimkan karakter “4” ke
47
port serial mikrokontroler. Input “4” dari PC merupakan perintah untuk membuka pintu
gerbang (open house). Minimum system terlebih dahulu akan memeriksa kondisi pintu
gerbang terakhir dengan memeriksa data umpan balik proximity sensor dan limit switch.
Apabila kondisi telah sesuai, maka PA0 akan berlogika 1 sehingga transistor menjadi
saturasi dan menjadi sebuah saklar tertutup. Solenoid akan aktif dan tuas akan terangkat
(unlocking), kemudian PD5 (pin enable) dan PD6 (pin 2A) akan berlogika 1 dan PD7 (pin
1A) akan berlogika 0 untuk mengaktifkan motor DC dengan arah putaran cw (clock wise)
untuk menggeser pintu gerbang pada posisi tertutup. Saat PC6 berlogika 1 (limit switch 1
on), PD5 menjadi berlogika 0, sehingga motor DC akan berhenti berputar. Layout VB saat
SMS diterima dapat dilihat pada Gambar 4.11. Setelah pintu gerbang tertutup, user akan
mendapatkan SMS konfirmasi bahwa pintu gerbang telah tertutup. SMS konfirmasi yang
diterima oleh user-1 dapat dilihat pada Gambar 4.12. Pengujian pengolahan SMS perintah
terkait pintu gerbang secara keseluruhan dapat dilihat pada Tabel 4.1. Pengujian dilakukan
sebanyak 10 kali untuk format pengiriman yang sama. Data yang diperoleh menunjukkan
hasil yang sama untuk tiap pengiriman.
Gambar 4.11. Layout program saat SMS diterima
48
Gambar 4.12. SMS konfirmasi pada user-1
Tabel 4.1. Hasil pengujian pengolahan SMS perintah
No SMS
Perintah
Keterangan
pada layout VB SMS konfirmasi Keterangan
1 12345og Berhasil Pintu gerbang terbuka. Berhasil
2 12345cg Berhasil Pintu gerbang tertutup. Berhasil
3 12345oh Berhasil Pintu gerbang terbuka. Berhasil
4 12345nu Berhasil Nomor user = 2, Password = 2222 User-2 aktif dengan
password awal 2222
5 12345gs Berhasil Pintu gerbang tertutup
Kondisi terakhir
pintu gerbang
adalah tertutup
6 12345p11111 Berhasil Password telah berhasil diganti.
Password baru
untuk user-1 adalah
1111
7 22222nu Nomor pengirim
salah Pengirim tidak dikenali.
SMS new user
hanya dapat
dilakukan oleh user-
1
8 11111xx2 Berhasil Blacklist berhasil. User-2 telah
dinonaktifkan
9 11111hm Berhasil
Ketik SMS dengan format (nomor
user,password,perintah) tanpa tanda
kurung dan koma.
Informasi
pengetikan format
SMS perintah
10 19999hm Password salah Maaf, password anda salah.
User salah
memasukkan
password
11 coba Format SMS
salah Maaf, format yang anda kirim salah.
User salah
mengetikkan format
49
SMS konfirmasi yang diterima user memperlihatkan keakuratan pengolahan SMS
dalam sistem. Tabel 4.1 memperlihatkan bahwa pengolahan SMS perintah pada program
dan eksekusi pada hardware telah berjalan sesuai perancangan awal.
4.3. Pengujian Rangkaian Komunikasi Serial
Pengujian rangkaian komunikasi serial dilakukan untuk mengetahui keberhasilan
pengiriman data antara PC dan mikrokontroler. Pengujian dilakukan dengan menggunakan
bantuan software hyperterminal.
Proses komunikasi yang terjadi antara program PC dan mikrokontroler
menggunakan beberapa variabel. Pengujian dilakukan dengan menggunakan variable “a”
yang akan direspon mikrokontroler sebagai perintah pembacaan kondisi pintu gerbang.
Gambar 4.13 memperlihatkan hasil pengujian komunikasi serial. Feedback yang sesuai
dengan kondisi pintu gerbang dijadikan sebagai indikator bahwa rangkaian komunikasi
serial telah berfungsi dengan baik sesuai dengan perancangan awal.
Gambar 4.13. Hasil pengujian komunikasi serial
50
4.4. Pengujian Rangkaian Driver Relay
Pengujian rangkaian driver Relay dilakukan untuk mengetahui apakah motor DC
dapat bekerja sesuai perintah yang diberikan oleh mikrokontroler. Motor DC yang
digunakan membutuhkan catu tegangan 12V. Perintah yang diberikan berisi pengontrolan
kondisi portd.5 dan portd.6. Hasil pengujian driver motor DC dapat dilihat pada Tabel 4.2.
Tabel 4.2. Hasil pengujian rangkaian driver relay
Portd.5 Portd.6 Tegangan Motor DC Keterangan
Perancangan Data Perancangan Data Perancangan Data
0V 0V 0V 0V 0V 0V Diam
0V 0V 5V 3,97V 12V 10,8V Berputar
ccw
5V 3,97V 0V 0V 12V 10,8V Berputar cw
Arah putaran motor DC diatur berdasarkan logika pada portd.5 dan portd.6. Tabel
4.2 memperlihatkan bahwa rangkaian driver relay dapat mengendalikan motor DC sesuai
dengan pengaturan kondisi portd.5 dan portd.6 seperti terdapat pada perancangan.
Tegangan port yang tidak mencapai 5V masih dapat ditolerir karena masih berada dalam
range tegangan untuk logika tinggi pada mikrokontroler.
4.5. Pengujian Sistem Penguncian
Pengujian sistem penguncian dilakukan untuk mengetahui apakah rangkaian
transistor sebagai saklar dan rangkaian proximity sensor telah bekerja sesuai dengan
perancangan awal. Pengujian meliputi kondisi saat locking dan unlocking.
4.5.1. Pengujian Rangkaian Transistor sebagai Saklar
Pada saat terjadi locking, tegangan output dari solenoid adalah 4,89V karena input
basis transistor mendapat masukan tegangan dari uC sebesar 4,98V dan mengalami
saturasi. Jika sebuah transistor berada dalam keadaan saturasi, maka transistor tersebut
seperti sebuah saklar yang tertutup dari kolektor ke emitter. Sehingga arus dari kolektor
akan mengalir ke emitter melewati solenoid. Akibatnya di sekitar kumparan kawat solenoid
akan muncul medan magnet yang memicu pergerakan tuas/inti besi solenoid. Data
pengujian rangkaian transistor sebagai saklar dapat dilihat pada tabel 4.3.
51
Analisa secara teori saat kondisi unlocking :
mAVVV
R
VVI
B
BEuCB 148.9
470
3.4
470
7.05 =Ω
=Ω
−=−
=
β diasumsikan bernilai 100, sehingga:
AmAxxII BC 915.0148.9100 === β
SOLENOIDR (hasil pengukuran) = 4Ω
VxxRIVV SOLENOIDCCCCE 47.2)46323.0(5)( =−=−=
VVVV CECCSOLENOID 53.247.25 =−=−=
Analisa secara teori saat locking :
0=uCV , BEV = 0.7V
uCV < BEV , maka transistor mengalami cutt off dan transistor seperti sebuah saklar terbuka.
Sehingga tidak ada arus yang mengalir dari kolektor ke emitter ( 0=CI ).
mAVVV
R
VVI
B
BEuCB 03.1
680
7.0
680
7.00 −=Ω
−=Ω
−=−
=
VxRIVV SOLENOIDCCCCE 505)( =−=−=
VVVV CECCSOLENOID 055 =−=−=
Tabel 4.3. Hasil pengujian rangkaian transistor sebagai saklar
Keterangan Perhitungan Pengukuran
Locking Unlocking Locking Unlocking
uCV 0V 0V 3,61V 3,60V
BI 0mA 10mA 0mA 5,07mA
CI 0A 0,5A 0 A 0,488A
52
Tabel 4.3. (Lanjutan) Hasil pengujian rangkaian transistor sebagai saklar
Keterangan Perhitungan Pengukuran
Locking Unlocking Locking Unlocking
CCV 5V 5V 4,8V 4,8V
CEV 5V 2,47V 4,8V 2,3V
SOLENOIDV 0V 2,53V 0V 2,3V
Hasil pembandingan dari data hasil perhitungan dan data hasil pengukuran
menunjukkan keduanya memiliki hasil yang hampir mendekati. Tegangan port yang tidak
mencapai 5V masih dapat ditolerir karena masih mencangkup range tegangan untuk logika
tinggi pada mikrokontroler. Dari hasil ini dapat diketahui bahwa solenoid dapat melakukan
proses locking dan unlocking dengan baik dan transistor dapat berfungsi sebagai saklar
sesuai dengan perancangan.
4.5.2. Pengujian Rangkaian Proximity Sensor
Saat kondisi unlocking, tuas solenoid tidak menutupi cahaya LED, sehingga
hambatan fotodioda akan menjadi sangat kecil dan menyebabkan tegangan dari Vcc
langsung menuju ground, layaknya rangkaian short. Tegangan output sensor akan
mendekati 0V. Saat kondisi locking, hambatan fotodioda akan menjadi sangat besar karena
cahaya LED mengenai fotodioda dan sensor akan menghasilkan output tegangan. Hasil
pengujian proximity sensor saat locking dan unlocking dapat dilihat pada Tabel 4.4.
Tabel 4.4. Hasil pengujian rangkaian proximity sensor
Keterangan Perhitungan Pengukuran
Unlocking 0,086V 0.15V
Locking 4,778V 4,2V
Hasil pengujian memperlihatkan output sensor dapat memberikan input pada
mikrokontroler dengan baik sehingga nilai input dapat dikenali sebagai logika 1 dn logika
0. Dengan demikian dapat disimpulkan bahwa rangkaian proximity sensor telah bekerja
sesuai perancangan awal.
53
4.6. Pembahasan Program pada PC
4.6.1. Menu Utama
Form menu utama akan muncul pertama kali saat program dijalankan. Form menu
utama terdiri dari informasi jumlah inbox, kondisi pintu gerbang, nomor pengirim, isi SMS,
nomor user, password, perintah, dan keterangan. Tampilan menu utama dapat dilihat pada
Gambar 4.14.
Gambar 4.14. Tampilan form menu utama
Ketika program dijalankan, PC pertama-tama akan melakukan sinkronisasi
database password dan data jumlah kesalahan user dengan mikrokontroler. Sinkronisasi
dilaksanakan dengan mengirimkan data password dan jumlah kesalahan seluruh user aktif
satupersatu ke mikrokontroler. Sinkronisasi diperlukan untuk keperluan verifikasi
password saat akses secara manual. Pengiriman data password dan jumlah kesalahan tiap
user dilakukan dengan menggunakan mekanisme pengaturan timer. Hal ini dilakukan agar
mikrokontroler dapat mengolah data terkirim secara lebih akurat. Proses pengiriman
dilakukan melalui kabel serial yang dihubungkan pada COM1 PC. Listing program
pengiriman data password untuk user-1 adalah sebagai berikut:
54
Private Sub Timer1_Timer() DataEnvironment2.rsCommand1.MoveFirst a = DataEnvironment2.rsCommand1.Fields("nouser ") b = IsNumeric(a) If b = True Then Text2.Text = DataEnvironment2.rsCommand1.Fields("password ") Text2.Text = "1" + Text2.Text MSComm1.Output = Text2.Text End If Timer1.Enabled = False End Sub
Sebelum melakukan perintah pengiriman data password dan jumlah kesalahan, port
serial terlebih dahulu dibuka agar PC dan mikrokontroler dapat melakukan proses
pengiriman dan penerimaan data. Pengaturan port serial dilakukan dengan perintah
“MSComm1.Setting = “9600,N,8,1”. Angka 9600 menunjukkan penggunaan baudrate
9600 bps. N (none) menunjukkan tidak ada paritas yang digunakan. Angka ketiga, yaitu 8,
menunjukkan jumlah bit yang dikirim dalam satu karakter yaitu 8 bit. Angka terakhir
menunjukkan bit akhir (stop bit) dalam satu karakter. Listing program untuk proses
membuka port serial adalah sebagai berikut:
Saat commandbutton START ditekan, timer1 akan aktif dan menjalankan perintah
pemeriksaan input SMS. Timer1 diatur untuk bekerja setiap 5 detik agar proses yang
dijalankan tidak membebani sistem pada PC. Saat terdapat input SMS, nomor pengirim dan
isi SMS akan ditampilkan pada form dan timer1 akan dimatikan sementara untuk
menghindari penumpukan proses. Isi SMS akan diseleksi untuk mendapatkan nomor user,
dan hasil seleksi akan dibandingkan dengan database. Selanjutnya isi SMS akan diseleksi
kembali untuk membandingkan password dengan database. Setelah nomor user dan
password cocok, seleksi terakhir adalah membandingkan perintah dengan database. Listing
program pemeriksaan nomor user adalah sebagai berikut:
Private Sub Bukaport() MSComm1.CommPort = 1 MSComm1.Settings = "9600,N,8,1" MSComm1.InputLen = 1 MSComm1.DTREnable = True MSComm1.RTSEnable = True MSComm1.RThreshold = 1 MSComm1.PortOpen = True End Sub
55
Private Sub cek_nomor_user() On Error Resume Next Dim nouser As String Dim w As String Dim X As String Dim z As Integer Timer1.Enabled = False nouser = Left(Text10.Text, 1) DataEnvironment2.rsCommand1.Open z = DataEnvironment2.rsCommand1.RecordCount DataEnvironment2.rsCommand1.MoveFirst Do Until z = 0 With DataEnvironment2.rsCommand1 w = !notelepon X = !nouser End With If nouser = X Then Text4.Text = nouser If nouser = "1" Then If Text3.Text = w Then cek_password simpan_record delete Timer1.Enabled = True DataEnvironment1.rsCommand1.Close Exit Sub Else Text7.Text = "Nomor pengirim salah" nomor_pengirim_salah simpan_record delete Timer1.Enabled = True DataEnvironment1.rsCommand1.Close Exit Sub End If End If Text4.Text = nouser cek_password simpan_record delete Timer1.Enabled = True DataEnvironment1.rsCommand1.Close Exit Sub Else DataEnvironment2.rsCommand1.MoveNext End If z = z - 1 Text2.Text = "6" Loop Text7.Text = "Format SMS salah" format_salah simpan_record delete Timer1.Enabled = True
56
DataEnvironment1.rsCommand1.Close End Sub
Proses pemeriksaan password hampir sama dengan pemeriksaan nomor user,
perbedaannya terletak pada field database yang digunakan sebagai variabel pembanding.
Proses pemeriksaan perintah dilakukan dengan membandingkan hasil seleksi isi SMS
dengan variabel yang ditentukan dalam listing program. Listing program untuk melakukan
pemeriksaan perintah open gate dan open house adalah sebagai berikut:
Private Sub kerjakan_tgs() Dim perintahsms As String Dim newpass As String Dim newpass2 As String Dim newpass3 As Integer Dim newpass4 As Boolean perintahsms = Right(Text10.Text, Len(Text10.Text) - 5) 'perintah untuk mendapatkan sisa SMS selain no user dan passw ord newpass = Left(perintahsms, 2) Text13.Text = perintahsms If perintahsms = "og" Then ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,open gate Text6.Text = perintahsms If Text2.Text = "tertutup" Then MSComm1.Output = "b" Do If Text11.Text = "ok" Then 'tunggu bala san dari mikro berhasil_buka Text7.Text = "Berhasil" Exit Do Else kunci_rusak Text7.Text = "Penguncian gagal" Exit Do End If Loop Else MSComm1.Output = "c" berhasil_buka Text7.Text = "Tidak ada" End If Exit Sub ElseIf perintahsms = "cg" Then ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,close gate Text6.Text = perintahsms If Text2.Text = "terbuka" Then MSComm1.Output = "d" Do If Text11.Text = "ok" Then 'tunggu bala san dari mikro berhasil_tutup Text7.Text = "Berhasil"
57
Exit Do Else kunci_rusak2 Text7.Text = "Penguncian gagal" Exit Do End If Loop Else berhasil_tutup Text7.Text = "Berhasil" Exit Sub End If
Apabila pemeriksaan nomor user, password, dan perintah dari hasil seleksi SMS
tidak sesuai dengan database, maka pengirim SMS akan mendapatkan pemberitahuan dari
sistem berupa SMS konfirmasi. Form juga akan memunculkan pemberitahuan yang
ditampilkan pada textbox keterangan. Tampilan form saat terjadi kesalahan dapat dilihat
pada Gambar 4.15. Salah satu listing program untuk melakukan pengiriman SMS
konfirmasi adalah sebagai berikut:
Private Sub password_salah() konfirmasi = "INSERT INTO outbox (DestinationNumber ,TextDecoded) VALUES" + "('" & Text3.Text & "','Maaf, password an da salah.')" DataEnvironment1.Connection1.Execute konfirmasi, ad CmdText End Sub
Gambar 4.15. Tampilan form saat terjadi kesalahan password
58
Selanjutnya program akan menghapus SMS yang telah diproses dari database
inbox. Timer akan diaktifkan kembali untuk melakukan proses pemeriksaan database inbox
secara periodik.
4.6.2. Data User
Form data user berisi informasi mengenai user yang aktif. Informasi tersebut
diambil dari database datauser3. Commandbutton GANTI NOMOR digunakan untuk
mengganti database nomor telepon dari user-1. Proses pergantian nomor telepon dilakukan
dengan mengisi textbox nomor telepon pada kolom user-1 dan diakhiri dengan menekan
Commandbutton SIMPAN. Commandbutton BATAL digunakan untuk membatalkan
proses penggantian nomor telepon user-1. Tampilan form data user dapat dilihat pada
Gambar 4.16. Listing program perintah pergantian nomor telepon user-1 adalah sebagai
berikut:
Private Sub Command1_Click() If Command1.Caption = "Simpan" Then DataEnvironment2.rsCommand1.MoveFirst DataEnvironment2.rsCommand1.Fields("notelepon") = Text4.Text DataEnvironment2.rsCommand1.Update Text4.BackColor = &H80000004 Text4.Locked = True Command2.Enabled = False Command1.Caption = "Ganti nomor" Else Command1.Caption = "Simpan" Command2.Enabled = True Text4.Text = "+62" Text4.BackColor = &HC0FFFF Text4.Locked = False End If End Sub
59
Gambar 4.16. Tampilan form data user
4.6.3. Akses Tersimpan
Form akses tersimpan berisi informasi mengenai 10 SMS terakhir yang telah
diproses oleh program. Informasi yang ditampilkan adalah waktu SMS diterima, nomor
pengirim, isi SMS dan keterangan hasil pengolahan SMS. Informasi yang ditampilkan
diambil dari database record_sms2. Database record_sms2 akan diperbaharui setiap kali
program selesai melakukan pengolahan satu SMS. Seluruh informasi ditampilkan dalam
bentuk tabel yang disusun berurutan sesuai dengan urutan pengolahan isi SMS. Tampilan
form akses tersimpan dapat dilihat pada gambar 4.17. Listing program pengambilan data
dari database adalah sebagai berikut:
Private Sub ambil_data() Dim X As Integer X = 0 DataEnvironment3.rsCommand1.Open DataEnvironment3.rsCommand1.MoveFirst Do While Not DataEnvironment3.rsCommand1.EOF X = X + 1 MSFlexGrid1.TextMatrix(X, 0) = X MSFlexGrid1.TextMatrix(X, 1) = DataEnvironment3.rsCommand1.Fields("waktu") MSFlexGrid1.TextMatrix(X, 2) = DataEnvironment3.rsCommand1.Fields("nomor_pengirim" ) MSFlexGrid1.TextMatrix(X, 3) =
60
DataEnvironment3.rsCommand1.Fields("isi_sms") MSFlexGrid1.TextMatrix(X, 4) = DataEnvironment3.rsCommand1.Fields("Keterangan") If Not DataEnvironment3.rsCommand1.EOF Then DataEnvironment3.rsCommand1.MoveNext Loop End Sub
Gambar 4.17. Tampilan form akses tersimpan
4.7. Pembahasan Program pada Mikrokontroler
Mikrokontroler diprogram untuk dapat mengatrur proses buka dan tutup pintu
gerbang, mengendalikan proses akses secara manual pada pintu gerbang, dan memeberikan
keterangan-keterangan yang dibutuhkan PC. Listing program untuk pengaturan perintah
open gate, close gate, dan open house adalah sebagai berikut:
Sub Eksekusi() Select Case Kursor() Case 1: 'OPEN GATE Portd.7 = 1 Wait 1 Portd.5 = 1 Portd.6 = 0 Bitwait Pinc.7 , Set Print "Terbuka" Portd.5 = 0 Portd.6 = 0 Wait 2 Portd.5 = 0 'tunggu 3 detik Portd.6 = 1 Bitwait Pinc.6 , Set
61
Print "Tertutup" Portd.5 = 0 Portd.6 = 0 Wait 2 Portd.7 = 0 Waitms 100 Sensor If Pinc.6 = 1 And Nilai_adc > 1000 Then Print "ok" Elseif Pinc.6 = 1 And Nilai_adc < 800 Then Print "gagal" End If Cls Waitms 300 Goto Awal Case 2: 'CLOSE GATE Portd.7 = 1 Waitms 1000 Portd.5 = 0 Portd.6 = 1 Bitwait Pinc.6 , Set Print "Tertutup" Portd.5 = 0 Portd.6 = 0 Wait 1 Portd.7 = 0 Waitms 100 Sensor If Pinc.6 = 1 And Nilai_adc > 1000 Then Print "ok" Elseif Pinc.6 = 1 And Nilai_adc < 800 Then Print "gagal" End If Cls Waitms 300 Goto Awal Case 3: 'OPEN HOUSE Portd.7 = 1 Wait 2 Portd.5 = 1 Portd.6 = 0 Bitwait Pinc.7 , Set Print "Terbuka" Portd.5 = 0 Portd.6 = 0 Cls Waitms 300 Goto Awal End Select End Sub
62
Pengaturan arah putaran motor dilakukan dengan mengatur portd.5 dan portd.6.
saat pintu gerbang terbuka, pintu gerbang akan terus bergerak menunggu limit switch
tersentuh badan pintu gerbang. Logika tinggi diterjemahkan sebagai tanda bahwa pintu
gerbang telah sampai di akhir dari proses buka atau tutup pintu gerbang.
Saat minimum system aktif, maka mikrokontroler akan menunggu perintah yang
diberikan PC. Listing program untuk mengolah
Sub Cek() Select Case Serialdat() Case 49: Bb = Chr(serialdat) Cc = Cc + Bb Goto Sinkron Case 97: Sensor If Pinc.6 = 1 Then Print "Tertutup" Elseif Pinc.7 = 1 Then Print "Terbuka" End If Goto Awal Case 98: ’open gate,variabel = b Kursor = 1 Eksekusi Case 99: ’open gate,variabel c Kursor = 1 Eksekusi Case 100: ’close gate,variabel = d Kursor = 2 Eksekusi Case 101: ’open house,variabel = e Kursor = 3 Eksekusi Case 120: 'nonaktifkan user-2, variabel = x Aktif2 = 0 Print "User 2 non aktif" Goto Awal Case 121: 'nonaktifkan user-3, variabel = y Aktif3 = 0 Print "User 3 non aktif" Goto Awal Case 122: 'nonaktifkan user-4, variabel = z Aktif4 = 0 Print "User 4 non aktif" Goto Awal End Select End Sub
63
Saat mikrokontroler mendapatkan perintah dari PC untuk memeriksa kondisi pintu
gerbang, maka mikrokontroler akan mengirim informasi ”Terbuka” atau ”Tertutup” sesuai
kondisi sensor dan limit switch pada pintu gerbang. Pengawasan terhadap sistem
penguncian dilakukan dengan memeriksa ouput dari keluaran sesenso menggunakan ADC.
Jika nilai ADC > 1000, maka diasumsikan bahwa tuas solenoid dalam posisi locking.
Sedangkan jika nilai ADC < 800 diasumsikan bahwa tuas solenoid dalam posisi unlocking.
Listing program untuk mengirim informasi ke PC adalah sebagai berikut:
If Pinc.6 = 1 And Nilai_adc > 1000 Then Print "Tertutup" Elseif Pinc.7 = 1 Then Print "Terbuka" Elseif Pinc.6 = 1 And Nilai_adc < 800 Then Print "Sistem Penguncian Error" End If Goto Awal
4.8. Pengujian Akses Secara Manual
Pengujian akses manual dilakukan untuk mengetahui keberhasilan pengolahan
input password serta pengolahan perintah buka dan tutup yang dilakukan melalui
pushbutton dan keypad. Pada akses melalui pushbutton, pengujian dilakukan dengan
menekan tombol / memberi perintah masing-masing sebanyak sepuluh kali. Hasil
pengamatan pushbutton dapat dilihat pada Tabel 4.5.
Tabel 4.5. Hasil pengamatan pushbutton.
No Pushbutton Port uC yang aktif Tagangan input port Proses aktual
1 Open gate Portd.3 4,23V Berhasil
2 Close gate Portd.4 4,22V Berhasil
3 Open house Portd.5 4,23V berhasil
Dari pengujian yang telah dilakukan, didapat hasil yang sama untuk tiap tombol,
yaitu mikrokontroler dapat mengolah perintah yang diberikan dengan baik, sehingga pintu
gerbang dapat membuka dan menutup sesuai dengan perintah yang diberikan.
Pada akses melalui keypad, dilakukan pengujian dengan cara yang sama, yaitu
melakukan sepuluh kali pengulangan untuk tiap perintah. Password dikombinasikan secara
64
acak sebanyak sepuluh buah pada tiap perintah untuk menguji proses pengolahan
password. Hasil pengamatan keypad dapat dilihat pada Tabel 4.6.
Tabel 4.6. Hasil pengamatan keypad.
No Perintah Password Pengolahan password Proses aktual
1 Open gate 12222 Berhasil Berhasil
2 Close gate 34422 Berhasil Berhasil
3 Open house 44444 Berhasil berhasil
Dari pengamatan yang telah dilakukan, didapatkan hasil yang sama pada tiap
pengujian perintah, yaitu mikrokontroler dapat mengolah input password yang diberikan
dan memerintahkan pintu gerbang untuk membuka dan menutup sesuai dengan perintah
yang diberikan.
Kedua pengujian yang telah dilakukan terhadap pushbutton maupun keypad
menunjukkan hasil yang sama. Proses yang buka dan tutup pintu gerbang bekerja sesuai
input yang diberikan. Hal ini menunjukkan bahwa akses secara manual dapat berjalan
sesuai dengan perancangan awal.
66
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil pengujian serta pengambilan data pada pengendali dan pemantau pintu
gerbang otomatis dengan memanfaatkan layanan SMS, dapat diambil kesimpulan:
1. Pengendalian proses buka dan tutup pintu gerbang dengan memanfaatkan layanan SMS
dapat berjalan dengan baik, karena pintu gerbang dapat bekerja sesuai dengan SMS
yang dikirimkan.
2. Pegaturan user dan proteksi password telah berjalan sesuai dengan perancangan.
5.2. Saran
Saran-saran bagi pengembangan aplikasi ini selanjutnya adalah:
1. Penambahan kapasitas database jumlah user, agar jumlah user aktif dapat lebih
banyak.
2. Menggunakan komponen yang lebih presisi, untuk mendapatkan hasil yang lebih
akurat.
66
3. DAFTAR PUSTAKA [1]. http://dakksaservice.indonetwork.co.id/1282545/auto-gate-pintu-otomatis.htm
[2]. Friedhelm Hillebrand., 2002, GSM and UMTS, The Creation of Global Mobile
Communication, John Wiley & Sons, New York.
[3]. Ir. Suhana, Shigeki Shoji, 1994, Buku Pegangan Teknik Telekomunikasi. Jakarta
PT Pradnya Paramita.
[4]. Wardhana, L., 2006, Mikrokontroler AVR ATMega8535, Penerbit Andi,
Yogyakarta.
[5]. -----, 2002, Datasheet MAX232, MAXIM.
[6]. http://elkaubisa.blogspot.com/2008/02/serial-port-pada-pc.html
[7]. http://www.pinout.net/browse.php?conid=123.
[8]. Hawkes. Nigel, 1986, Robot dan Otomasi Industri, Grolier Internasional, INC - PT
Widyadara.
[9]. http://www.teac.com.au/pages/howdoesanlcdwork.
[10]. Malvino, Albert Paul, Ph.D. , 1994, Prinsip – prinsip elektronika / penerjemah: wi,
Ph.D., Jakarta: Penerbit Erlangga.
[11]. http://id.shvoong.com/exact- sciences/16 18 3 49-transistor-sebagai-saklar/.
[12]. http://www.alldatasheet.com/view.jsp?Searchword=M1632&q=M1632 .
[13]. -----,2009 SMS Gateway, http://www.ittelkom.ac.id/library/index.php?view=
article&catid=17%3Asistem-komunikasi-bergerak&id=404%3Asms-
gateway&option=com_content&Itemid=15, diakses 14 agustus 2010.
[14]. Cihar, Michael, 2003, Gammu, http://wammu.eu/gammu/ diakses 14 agustus 2010
[15]. Apache Development Team, 2006, XAMPP,
http://www.apachefriends.org/en/xampp.html. diakses 14 agustus 2010
[16]. Ling Liu and Tamer M. Özsu (Eds.) (2009). Encyclopedia of Database Systems,
4100 p. 60 illus. ISBN 978-0-387-49616-0. Table of Content available at
http://refworks.springer.com/mrw/index.php?id=1217
L65
LAMPIRAN
L66
Listing Program Mikrokontroler $regfile = "m8535.dat" $crystal = 12000000 $baud = 9600 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Deflcdchar 2 , 32 , 32 , 12 , 14 , 15 , 14 , 12 , 32 'simbol SELECT KANAN Config Kbd = Portb Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc Enable Adc Declare Sub Proses() Declare Sub Cek() Declare Sub Tanya_password() Declare Sub Cek1() Declare Sub Cek_password() Declare Sub Pilih_perintah() Declare Sub Naik_turun() Declare Sub Eksekusi() Declare Sub Eksekusi2() Declare Sub Sensor() Dim Serialdat As Integer Dim K As Integer Dim Aa As Integer Dim Bb As String * 20 Dim Cc As String * 20 Dim C2 As String * 20 Dim Dd As String * 20 Dim D2 As String * 20 Dim D3 As String * 20 Dim D4 As String * 20 Dim Password As Long Dim Pass1 As Long Dim Pass2 As Long Dim Pass3 As Long Dim Pass4 As Long Dim Ee As Byte Dim A As Integer Dim B As Integer Dim C As Byte Dim D As Byte Dim E As Long Dim Kursor As Integer Dim Kursor2 As Integer Dim Aktif1 As Integer Dim Aktif2 As Integer Dim Aktif3 As Integer Dim Aktif4 As Integer Dim Nilai_adc As Integer Config Pind.4 = Input 'CLOSE GATE Config Pind.3 = Input 'OPEN HOUSE Config Pind.2 = Input Config Pinc.6 = Input Config Pinc.7 = Input Config Pind.5 = Output 'motor2 Config Pind.6 = Output
L67
Config Pind.7 = Output Cgbutton Alias Pind.4 Ohbutton Alias Pind.3 Ogbutton Alias Pind.2 Aa = 4 Awal: Cc = "" Waitms 200 Cls Cursor Off Wait 1 Locate 1 , 4 : Lcd "|AUTOMATIC|" Locate 2 , 4 : Lcd " .|GATE|." Waitms 200 Do If Ogbutton = 1 Then Kursor2 = 1 Eksekusi2 Elseif Ogbutton = 0 Then If Ohbutton = 1 Then Kursor2 = 2 Eksekusi2 Elseif Ohbutton = 0 Then If Cgbutton = 1 Then Kursor2 = 3 Eksekusi2 Elseif Cgbutton = 0 Then K = Getkbd() If K = 11 Then Tanya_password End If Serialdat = Inkey() If Serialdat > 0 Then Cek End If End If End If End If Loop Sub Cek() Select Case Serialdat() Case 49: Bb = Chr(serialdat) Cc = Cc + Bb Goto Sinkron Case 97: Sensor If Pinc.6 = 1 Then Print "Tertutup" Elseif Pinc.7 = 1 Then Print "Terbuka" End If Goto Awal Case 98: 'open gate, variabel=b Kursor = 1 Eksekusi
L68
Case 99: 'open gate(kondisi p.gerbang telah terbuka), variabel=c Kursor = 1 Eksekusi Case 100: 'close gate, variabel=d Kursor = 2 Eksekusi Case 101: 'open house, variabel=e Kursor = 3 Eksekusi Case 120: 'nonaktifkan user-2, variabel = x Aktif2 = 0 Print "User 2 non aktif" Goto Awal Case 121: 'nonaktifkan user-3, variabel = y Aktif3 = 0 Print "User 3 non aktif" Goto Awal Case 122: 'nonaktifkan user-4, variabel = z Aktif4 = 0 Print "User 4 non aktif" Goto Awal End Select End Sub Sinkron: Do Serialdat = Inkey() Bb = Chr(serialdat) Cc = Cc + Bb Aa = Aa + 1 If Aa = 4 Then Cls Locate 1 , 1 : Lcd Cc Print Cc Proses End If Loop Sub Proses() Wait 3 Ee = Len(cc) If Ee = 5 Then 'cuma ada data user1 Pass1 = Val(cc) Aktif1 = 1 End If If Ee = 10 Then Dd = Mid(cc , 1 , 5) Pass1 = Val(dd) Aktif1 = 1 Wait 3 Dd = Mid(cc , 6 , 1 ) Ee = Val(dd) If Ee = 2 Then D2 = Right(cc , 5) Pass2 = Val(d2) Aktif2 = 1 Elseif Ee = 3 Then D3 = Right(cc , 5) Pass3 = Val(d3)
L69
Aktif3 = 1 Else D4 = Right(cc , 5) Pass4 = Val(d4) Aktif4 = 1 End If End If If Ee = 15 Then Dd = Left(cc , 5) Pass1 = Val(dd) Aktif1 = 1 Wait 2 Dd = Mid(cc , 6 , 1 ) Ee = Val(dd) If Ee = 2 Then D2 = Mid(cc , 6 , 5) Pass2 = Val(d2) Aktif2 = 1 Elseif Ee = 3 Then D3 = Mid(cc , 6 , 5) Pass3 = Val(d3) Aktif3 = 1 Else D4 = Mid(cc , 6 , 5) Pass4 = Val(d4) Aktif4 = 1 End If Wait 2 Dd = Mid(cc , 11 , 1 ) Ee = Val(dd) If Ee = 3 Then D2 = Right(cc , 5) Pass3 = Val(d2) Aktif3 = 1 Else D3 = Right(cc , 5) Pass4 = Val(d3) Aktif4 = 1 End If End If If Ee = 20 Then Wait 1 Dd = Mid(cc , 1 , 5) Pass1 = Val(dd) Aktif1 = 1 Wait 1 D2 = Mid(cc , 6 , 5) Pass2 = Val(d2) Aktif2 = 1 Wait 1 D3 = Mid(cc , 11 , 5) Pass3 = Val(d3) Aktif3 = 1 Wait 1 D4 = Mid(cc , 16 , 5) Pass4 = Val(d4) Aktif4 = 1 End If Goto Awal
L70
End Sub Sub Tanya_password() Cls Waitms 300 Locate 1 , 1 : Lcd "MasukkanPassword" 'pengecekan PASSWORD Locate 2 , 1 : Lcd Chr(2) Cursor On Waitms 500 D = 0 B = 2 Password = 0 Do Locate 2 , B : K = Getkbd() Select Case K() Case 0: Lcd "1" C = 1 Cek1 Case 4: Lcd "2" C = 2 Cek1 Case 8: Lcd "3" C = 3 Cek1 Case 1: Lcd "4" C = 4 Cek1 Case 5: Lcd "5" C = 5 Cek1 Case 9: Lcd "6" C = 6 Cek1 Case 2: Lcd "7" C = 7 Cek1 Case 6: Lcd "8" C = 8 Cek1 Case 10: Lcd "9" C = 9 Cek1 Case 7: Lcd "0" C = 0 Cek1 Case 3: Waitms 300 Cls
L71
Locate 1 , 1 : Lcd "Batal...." Cursor Off Wait 1 Goto Awal Case 11: Cek_password End Select Loop End Sub Sub Cek1() Waitms 500 D = D + 1 Waitms 100 B = B + 1 Select Case D() Case 1 : E = C * 10000 Print E Case 2 : E = C * 1000 Print E Case 3 : E = C * 100 Print E Case 4 : E = C * 10 Print E Case 5 : E = C * 1 Print E End Select Password = Password + E End Sub Sub Cek_password() Waitms 300 Cls Locate 1 , 1 : Lcd Password Cursor Off If Password >= 40000 And Password <= 49999 Then If Aktif4 = 1 Then If Password = Pass4 Then Cls Locate 1 , 1 : Lcd "Mohon tunggu...." Wait 1 Cls Locate 1 , 1 : Lcd "Password benar." Print "zz" Pilih_perintah Else Print "salah4" Cls Locate 1 , 1 : Lcd "Password salah.." Wait 1 Goto Awal End If Else Cls
L72
Locate 1 , 1 : Lcd "Akses ditolak" Goto Awal End If End If If Password >= 30000 And Password <= 39999 Then If Aktif3 = 1 Then If Password = Pass3 Then Cls Locate 1 , 1 : Lcd "Mohon tunggu...." Cursor Off Wait 1 Cls Locate 1 , 1 : Lcd "Password benar." Print "yy" Pilih_perintah Else Print "salah3" Cls Locate 1 , 1 : Lcd "Password salah.." Wait 1 Goto Awal End If Else Cls Locate 1 , 1 : Lcd "Akses ditolak" Goto Awal End If End If If Password >= 20000 And Password <= 29999 Then If Aktif2 = 1 Then If Password = Pass2 Then Cls Locate 1 , 1 : Lcd "Mohon tunggu...." Cursor Off Wait 1 Cls Locate 1 , 1 : Lcd "Password benar." Print "xx" Pilih_perintah Else Print "salah2" Cls Locate 1 , 1 : Lcd "Password salah.." Wait 1 Goto Awal End If Else Cls Locate 1 , 1 : Lcd "Akses ditolak" Goto Awal End If End If If Password >= 10000 And Password <= 19999 Then If Password = Pass1 Then Cls Locate 1 , 1 : Lcd "Mohon tunggu...." Cursor Off Wait 1 Cls
L73
Locate 1 , 1 : Lcd "Password benar." Pilih_perintah Else Cls Locate 1 , 1 : Lcd "Password salah.." Wait 1 Goto Awal End If End If If Password <= 9999 Or Password >= 50000 Then Cls Locate 1 , 1 : Lcd "Akses ditolak" Goto Awal End If End Sub Sub Pilih_perintah() Cls Waitms 500 Locate 1 , 1 : Lcd Chr(2) ; "Open" Locate 2 , 1 : Lcd " " ; "Close" Locate 1 , 10 : Lcd " " ; "Full" Kursor = 1 Do K = Getkbd() Select Case K() Case 15: Waitms 200 Kursor = Kursor + 1 '[#]turun ditekan If Kursor = 4 Then Kursor = 3 End If Naik_turun Case 14: Waitms 200 '[#]naik ditekan Kursor = Kursor - 1 If Kursor = 0 Then Kursor = 1 End If Naik_turun Case 3: Cls Waitms 200 '[#]cancle ditekan Locate 1 , 1 : Lcd "Batal.." Waitms 200 Goto Awal Case 11: Cls Waitms 200 '[#]Ok ditekan Locate 1 , 1 : Lcd "Silahkan tunggu." Waitms 200 Eksekusi2 End Select Loop End Sub Sub Naik_turun() 'geser naik turun kursor lcd Select Case Kursor() Case 1:
L74
Cls Waitms 200 Locate 1 , 1 : Lcd Chr(2) ; "Open" 'LCD "> Open" Locate 1 , 10 : Lcd " " ; "Full" Locate 2 , 1 : Lcd " " ; "Close" Cursor Off Case 2: Cls Waitms 200 'LCD "> Close" Locate 1 , 1 : Lcd " " ; "Open" Locate 1 , 10 : Lcd " " ; "Full" Locate 2 , 1 : Lcd Chr(2) ; "Close" Cursor Off Case 3: Cls Waitms 200 'LCD "> Full" Locate 1 , 1 : Lcd " " ; "Open" Locate 1 , 10 : Lcd Chr(2) ; "Full" Locate 2 , 1 : Lcd " " ; "Close" Cursor Off End Select End Sub Sub Eksekusi() Select Case Kursor() Case 1: 'OPEN GATE Portd.7 = 1 Wait 1 Portd.5 = 1 Portd.6 = 0 Bitwait Pinc.7 , Set Print "Terbuka" Portd.5 = 0 Portd.6 = 0 Wait 2 Portd.5 = 0 'tunggu 3 detik Portd.6 = 1 Bitwait Pinc.6 , Set Print "Tertutup" Portd.5 = 0 Portd.6 = 0 Wait 2 Portd.7 = 0 Waitms 100 Sensor If Pinc.6 = 1 Then Print "ok" End If Cls Waitms 300 Goto Awal Case 2: 'CLOSE GATE Portd.7 = 1 Waitms 1000 Portd.5 = 0 Portd.6 = 1 Bitwait Pinc.6 , Set Print "Tertutup" Portd.5 = 0
L75
Portd.6 = 0 Wait 1 Portd.7 = 0 Waitms 100 Sensor If Pinc.6 = 1 Then Print "ok" End If Cls Waitms 300 Goto Awal Case 3: 'OPEN HOUSE Portd.7 = 1 Wait 2 Portd.5 = 1 Portd.6 = 0 Bitwait Pinc.7 , Set Print "Terbuka" Portd.5 = 0 Portd.6 = 0 Cls Waitms 300 Goto Awal End Select End Sub Sub Sensor() Nilai_adc = Getadc(6) End Sub Sub Eksekusi2() Select Case Kursor2() Case 1: 'OPEN GATE Portd.7 = 1 Wait 1 Portd.5 = 1 Portd.6 = 0 Bitwait Pinc.7 , Set Print "Terbuka" Portd.5 = 0 Portd.6 = 0 Wait 2 Portd.5 = 0 'tunggu 3 detik Portd.6 = 1 Bitwait Pinc.6 , Set Print "Tertutup" Portd.5 = 0 Portd.6 = 0 Wait 2 Portd.7 = 0 Waitms 100 Cls Waitms 300 Goto Awal Case 2: 'CLOSE GATE Portd.7 = 1 Waitms 1000 Portd.5 = 0 Portd.6 = 1
L76
Bitwait Pinc.6 , Set Print "Tertutup" Portd.5 = 0 Portd.6 = 0 Wait 1 Portd.7 = 0 Waitms 100 Cls Waitms 300 Goto Awal Case 3: 'OPEN HOUSE Portd.7 = 1 Wait 2 Portd.5 = 1 Portd.6 = 0 Bitwait Pinc.7 , Set Print "Terbuka" Portd.5 = 0 Portd.6 = 0 Cls Waitms 300 Goto Awal End Select End Sub
Listing Program Visual Basic Form1 Private Sub Command1_Click() If Command1.Caption = "Simpan" Then DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst DataEnvironment2.rsCommand1.Fields("notelepon") = Text4.Text DataEnvironment2.rsCommand1.Update Text4.BackColor = &H80000004 Text4.Locked = True Command2.Enabled = False Command1.Caption = "Ganti nomor" DataEnvironment2.rsCommand1.Close Else Command1.Caption = "Simpan" Command2.Enabled = True Text4.Text = "+62" Text4.BackColor = &HC0C0C0 Text4.Locked = False End If End Sub Private Sub Command2_Click() If Command1.Caption = "Simpan" Then Command1.Caption = "Ganti nomor" End If DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst Text4.Text = DataEnvironment2.rsCommand1.Fields("notelepon") Text4.BackColor = &H80000004 Text4.Locked = True Command2.Enabled = False
L77
DataEnvironment2.rsCommand1.Close End Sub Private Sub Command3_Click() Form2.Enabled = True Form2.Show Form1.Enabled = False Unload Form1 End Sub Private Sub Command4_Click() Form4.Enabled = True Form4.Show Form1.Enabled = False Unload Form1 End Sub Private Sub Command5_Click() Dim jawab As Integer jawab = MsgBox("Keluar dari program?", vbQuestion + vbYesNo, "") If jawab = vbYes Then End End If End Sub Private Sub Form_Load() On Error Resume Next Load Me kunci_teks Command2.Enabled = False DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst Dim z As String Dim zz As Boolean Dim acak As Integer Skin1.ApplySkin Me.hWnd Timer1.Enabled = True Timer1.Interval = 1000 b = Time a = Format(Now, "DDDD, d / MM / yyyy") Text1.Text = a With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text1.Text = "Aktif" Text2.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text3.Text = DataEnvironment2.rsCommand1.Fields("password") Text4.Text = DataEnvironment2.rsCommand1.Fields("notelepon") Else Text1.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With
L78
zz = IsNumeric(z) If zz = True Then Text5.Text = "Aktif" Text6.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text7.Text = DataEnvironment2.rsCommand1.Fields("password") Text14.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text5.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text8.Text = "Aktif" Text9.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text10.Text = DataEnvironment2.rsCommand1.Fields("password") Text15.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text8.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text11.Text = "Aktif" Text12.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text13.Text = DataEnvironment2.rsCommand1.Fields("password") Text16.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text11.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.Close End Sub Private Sub Timer1_Timer() jam.Caption = Format(Now, "DDDD, d MM yyyy") jam2.Caption = Format(Now, "hh:mm:ss") End Sub Private Sub kunci_teks() Text1.Locked = True Text2.Locked = True Text3.Locked = True Text4.Locked = True Text5.Locked = True Text6.Locked = True Text7.Locked = True Text8.Locked = True Text9.Locked = True Text10.Locked = True Text11.Locked = True Text12.Locked = True Text13.Locked = True Text14.Locked = True Text15.Locked = True
L79
Text16.Locked = True End Sub Form2 Private Sub Command1_Click() If Command1.Caption = "Simpan" Then DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst DataEnvironment2.rsCommand1.Fields("notelepon") = Text4.Text DataEnvironment2.rsCommand1.Update Text4.BackColor = &H80000004 Text4.Locked = True Command2.Enabled = False Command1.Caption = "Ganti nomor" DataEnvironment2.rsCommand1.Close Else Command1.Caption = "Simpan" Command2.Enabled = True Text4.Text = "+62" Text4.BackColor = &HC0C0C0 Text4.Locked = False End If End Sub Private Sub Command2_Click() If Command1.Caption = "Simpan" Then Command1.Caption = "Ganti nomor" End If DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst Text4.Text = DataEnvironment2.rsCommand1.Fields("notelepon") Text4.BackColor = &H80000004 Text4.Locked = True Command2.Enabled = False DataEnvironment2.rsCommand1.Close End Sub Private Sub Command3_Click() Form2.Enabled = True Form2.Show Form1.Enabled = False Unload Form1 End Sub Private Sub Command4_Click() Form4.Enabled = True Form4.Show Form1.Enabled = False Unload Form1 End Sub Private Sub Command5_Click() Dim jawab As Integer jawab = MsgBox("Keluar dari program?", vbQuestion + vbYesNo, "") If jawab = vbYes Then End End If End Sub
L80
Private Sub Form_Load() On Error Resume Next Load Me kunci_teks Command2.Enabled = False DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst Dim z As String Dim zz As Boolean Dim acak As Integer Skin1.ApplySkin Me.hWnd Timer1.Enabled = True Timer1.Interval = 1000 b = Time a = Format(Now, "DDDD, d / MM / yyyy") Text1.Text = a With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text1.Text = "Aktif" Text2.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text3.Text = DataEnvironment2.rsCommand1.Fields("password") Text4.Text = DataEnvironment2.rsCommand1.Fields("notelepon") Else Text1.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text5.Text = "Aktif" Text6.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text7.Text = DataEnvironment2.rsCommand1.Fields("password") Text14.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text5.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text8.Text = "Aktif" Text9.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text10.Text = DataEnvironment2.rsCommand1.Fields("password") Text15.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text8.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser
L81
End With zz = IsNumeric(z) If zz = True Then Text11.Text = "Aktif" Text12.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text13.Text = DataEnvironment2.rsCommand1.Fields("password") Text16.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text11.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.Close End Sub Private Sub Timer1_Timer() jam.Caption = Format(Now, "DDDD, d MM yyyy") jam2.Caption = Format(Now, "hh:mm:ss") End Sub Private Sub kunci_teks() Text1.Locked = True Text2.Locked = True Text3.Locked = True Text4.Locked = True Text5.Locked = True Text6.Locked = True Text7.Locked = True Text8.Locked = True Text9.Locked = True Text10.Locked = True Text11.Locked = True Text12.Locked = True Text13.Locked = True Text14.Locked = True Text15.Locked = True Text16.Locked = True End Sub Form4 Private Sub Command1_Click() If Command1.Caption = "Simpan" Then DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst DataEnvironment2.rsCommand1.Fields("notelepon") = Text4.Text DataEnvironment2.rsCommand1.Update Text4.BackColor = &H80000004 Text4.Locked = True Command2.Enabled = False Command1.Caption = "Ganti nomor" DataEnvironment2.rsCommand1.Close Else Command1.Caption = "Simpan" Command2.Enabled = True Text4.Text = "+62" Text4.BackColor = &HC0C0C0 Text4.Locked = False End If End Sub Private Sub Command2_Click()
L82
If Command1.Caption = "Simpan" Then Command1.Caption = "Ganti nomor" End If DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst Text4.Text = DataEnvironment2.rsCommand1.Fields("notelepon") Text4.BackColor = &H80000004 Text4.Locked = True Command2.Enabled = False DataEnvironment2.rsCommand1.Close End Sub Private Sub Command3_Click() Form2.Enabled = True Form2.Show Form1.Enabled = False Unload Form1 End Sub Private Sub Command4_Click() Form4.Enabled = True Form4.Show Form1.Enabled = False Unload Form1 End Sub Private Sub Command5_Click() Dim jawab As Integer jawab = MsgBox("Keluar dari program?", vbQuestion + vbYesNo, "") If jawab = vbYes Then End End If End Sub Private Sub Form_Load() On Error Resume Next Load Me kunci_teks Command2.Enabled = False DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst Dim z As String Dim zz As Boolean Dim acak As Integer Skin1.ApplySkin Me.hWnd Timer1.Enabled = True Timer1.Interval = 1000 b = Time a = Format(Now, "DDDD, d / MM / yyyy") Text1.Text = a With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text1.Text = "Aktif" Text2.Text = DataEnvironment2.rsCommand1.Fields("joindate")
L83
Text3.Text = DataEnvironment2.rsCommand1.Fields("password") Text4.Text = DataEnvironment2.rsCommand1.Fields("notelepon") Else Text1.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text5.Text = "Aktif" Text6.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text7.Text = DataEnvironment2.rsCommand1.Fields("password") Text14.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text5.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text8.Text = "Aktif" Text9.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text10.Text = DataEnvironment2.rsCommand1.Fields("password") Text15.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text8.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text11.Text = "Aktif" Text12.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text13.Text = DataEnvironment2.rsCommand1.Fields("password") Text16.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text11.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.Close End Sub Private Sub Timer1_Timer() jam.Caption = Format(Now, "DDDD, d MM yyyy") jam2.Caption = Format(Now, "hh:mm:ss") End Sub Private Sub kunci_teks() Text1.Locked = True Text2.Locked = True Text3.Locked = True Text4.Locked = True Text5.Locked = True Text6.Locked = True
L84
Text7.Locked = True Text8.Locked = True Text9.Locked = True Text10.Locked = True Text11.Locked = True Text12.Locked = True Text13.Locked = True Text14.Locked = True Text15.Locked = True Text16.Locked = True End Sub Form5 Private Sub Command1_Click() If Command1.Caption = "Simpan" Then DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst DataEnvironment2.rsCommand1.Fields("notelepon") = Text4.Text DataEnvironment2.rsCommand1.Update Text4.BackColor = &H80000004 Text4.Locked = True Command2.Enabled = False Command1.Caption = "Ganti nomor" DataEnvironment2.rsCommand1.Close Else Command1.Caption = "Simpan" Command2.Enabled = True Text4.Text = "+62" Text4.BackColor = &HC0C0C0 Text4.Locked = False End If End Sub Private Sub Command2_Click() If Command1.Caption = "Simpan" Then Command1.Caption = "Ganti nomor" End If DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst Text4.Text = DataEnvironment2.rsCommand1.Fields("notelepon") Text4.BackColor = &H80000004 Text4.Locked = True Command2.Enabled = False DataEnvironment2.rsCommand1.Close End Sub Private Sub Command3_Click() Form2.Enabled = True Form2.Show Form1.Enabled = False Unload Form1 End Sub Private Sub Command4_Click() Form4.Enabled = True Form4.Show Form1.Enabled = False Unload Form1 End Sub
L85
Private Sub Command5_Click() Dim jawab As Integer jawab = MsgBox("Keluar dari program?", vbQuestion + vbYesNo, "") If jawab = vbYes Then End End If End Sub Private Sub Form_Load() On Error Resume Next Load Me kunci_teks Command2.Enabled = False DataEnvironment2.rsCommand1.Open DataEnvironment2.rsCommand1.MoveFirst Dim z As String Dim zz As Boolean Dim acak As Integer Skin1.ApplySkin Me.hWnd Timer1.Enabled = True Timer1.Interval = 1000 b = Time a = Format(Now, "DDDD, d / MM / yyyy") Text1.Text = a With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text1.Text = "Aktif" Text2.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text3.Text = DataEnvironment2.rsCommand1.Fields("password") Text4.Text = DataEnvironment2.rsCommand1.Fields("notelepon") Else Text1.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text5.Text = "Aktif" Text6.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text7.Text = DataEnvironment2.rsCommand1.Fields("password") Text14.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text5.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text8.Text = "Aktif"
L86
Text9.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text10.Text = DataEnvironment2.rsCommand1.Fields("password") Text15.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text8.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.MoveNext With DataEnvironment2.rsCommand1 z = !nouser End With zz = IsNumeric(z) If zz = True Then Text11.Text = "Aktif" Text12.Text = DataEnvironment2.rsCommand1.Fields("joindate") Text13.Text = DataEnvironment2.rsCommand1.Fields("password") Text16.Text = DataEnvironment2.rsCommand1.Fields("Kesalahan") Else Text11.Text = "Tidak aktif" End If DataEnvironment2.rsCommand1.Close End Sub Private Sub Timer1_Timer() jam.Caption = Format(Now, "DDDD, d MM yyyy") jam2.Caption = Format(Now, "hh:mm:ss") End Sub Private Sub kunci_teks() Text1.Locked = True Text2.Locked = True Text3.Locked = True Text4.Locked = True Text5.Locked = True Text6.Locked = True Text7.Locked = True Text8.Locked = True Text9.Locked = True Text10.Locked = True Text11.Locked = True Text12.Locked = True Text13.Locked = True Text14.Locked = True Text15.Locked = True Text16.Locked = True End Sub
L87
L88
L89
L90
L91
L92
L93
L94
L95
L96
L97