TUGAS AKHIR
PENGENDALI DAN PEMANTAU PENYIRAM TAMAN PADA SISTEM OTOMASI RUMAH MENGGUNAKAN LAYANAN SMS
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh :
YUSTINUS ATMADYA GILANG PRAMANA NIM : 065114034
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2010
i
FINAL PROJECT
WATER SPLINKER CONTROLER AND MONITORING IN HOME AUTOMATION SYSTEM USING SMS SERVICE
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree In Electrical Engineering Study Program
YUSTINUS ATMADYA GILANG PRAMANA NIM : 065114034
ELECTRICAL ENGINEERING STUDY PROGRAM SCIENCE AND TECHNOLOGY FACULTY SANATA DHARMA UNIVERSITY YOGYAKARTA 2010
ii
iii
iv
PERNYATAAN KEASLIAN KARYA
“Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.”
Yogyakarta, 22 Oktober 2010
Yustinus Atmadya Gilang.P
v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
Belajar lebih baik dari hari kemarin Hidup seperti nasi goreng
Kupersembahkan karya tulis ini kepada : Tuhan Yesus Kristus Ayah dan Ibu tercinta, Kakakku Michael Pramana Wisnu Wardhana, Adikku Valentinus TirtaYudha Pramana, Theresia Prima Permatasari, Dosen dan Almater Teknik Elektro USD
vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama
: Yustinus Atmadya Gilang Pramana
Nomor Mahasiswa
: 065114034
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
PENGENDALI DAN PEMANTAU PENYIRAM TAMAN PADA SISTEM OTOMASI RUMAH MENGGUNKAN 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 Oktober 2010
(Yustinus Atmadya Gilang Pramana)
vii
INTISARI Kehidupan yang semakin padat menyebabkan masyarakat sering beraktivitas diluar rumah. Hal 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 memanfaatkan komunikasi bergerak yang memudahkan pekerjaan manusia. Salah satu kebutuhannya adalah menyiram taman di halaman rumah. Perancangan pengendalian dan pemanatauan penyiram taman otomatis menggunkan layanan SMS memberikan solusi yang tepat saat penghuni sedang berada diluar rumah. Sistem penyiram taman otomatis menggunakan layanan SMS pada telepon seluler berbasis jaringan GSM terdiri dari layanan SMS, PC, dan minimum system. SMS digunakan sebagai media pengiriman pesan yang berisi format untuk mengendalikan dan memantau penyiram taman. Minimum system dan PC berfungsi untuk melakukan proses pengendalian dan pemantauan saat ada SMS masuk dari user. Sistem pengendali dan pemantau penyiram taman otomatis memanfaatkan layanan SMS sudah berhasil dibuat dan dapat bekerja dengan baik. SMS yang masuk diolah dengan baik oleh PC dan minimum system, sehingga tingkat keakurasian perintah yang dikirimkan dengan keadaan terhadap penyiram taman sudah sesuai dengan yang diinginkan. Kata kunci : pengendalian, pemantauan, penyiram taman, SMS, GSM
viii
ABSTRACT Human living is increasingly intens cause the public also activity in out of doors . In this case resulted in increasing the need of time efficiency. To meet this needs, one logical solution is to create an automatic control system using mobile comunication that make easier working human. One of the need for pour a garden in backyard. Water splinker controler and monitoring automatic using SMS service give a best solution when human in out of doors . Water splinker automatic system using SMS service on the GSM celluler phone consist of : SMS , PC , and microcontoler minimum system.SMS is used as medium message shipping a consist of controlling and monitoring water splinker. minimum system and PC is used to perform process control and monitoring when there is an incoming SMS from user. Water splinker controler and monitoring automatic using SMS service system has been successfully created and worked well. Incoming SMS processed properly by the minimum system and PC, so the accuracy level command can be sent to the water splinker as expected. Keywords: controler, monitoring, water splinker, SMS, GSM
ix
KATA PENGANTAR Puji syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala karunia-Nya sehingga tugas akhir dengan judul “ Pengendali Dan Pemantau Penyiram Taman Pada Sistem Otomasi Rumah Menggunakan Layanan 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. Selama menulis tugas akhir ini, penulis menyadari bahwa ada begitu banyak pihak yang telah memberikan bantuan dengan caranya masing-masing, sehingga tugas akhir ini bisa diselesaikan. Oleh karena itu penulis 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. Ibu Theresia Ari Prima,S.T.,M.T., selaku Dosen Pembimbing Akademik yang telah banyak membantu selama ini. 4. Bapak dan Ibu Dosen yang telah memberikan semangat, pengetahuan dan bimbingan kepada peneliti selama kuliah. 5. Laboran Teknik Elektro yang telah banyak membantu selama ini. 6. Ayah dan Ibu atas doa, kesabaran dan dukungan yang tiada henti. 7. Kakakku Michael Pramana Wisnu Wardhana dan adikku Valentinus Tirta Yudha Pramana yang selalu memberikan doa dan semangat. 8. Theresia Prima Permatasari yang telah memberikan warna-warni hidup, semangat, kesabaran dan doa. 9. Teman-teman seperjuangan GSM yang telah banyak membantu. 10. Teman-teman Teknik Elektro angkatan 2006 untuk kebersamaan dan dukungannya. 11. Teman-teman dan Pemilik Kos Petung 22C yang telah memberikan kekeluargaan selama di Yogyakarta
x
12. Semua pihak yang tidak bisa penulis sebutkan satu-persatu atas bantuan, bimbingan, kritik dan saran.
Penulis sangat mengharapkan kritik dan saran yang dapat membangun serta menyempurnakan tulisan. Semoga tugas akhir ini dapat dimanfaatkan dan dikembangkan lebih lanjut oleh peneliti lain sehingga tulisan ini dapat lebih bermanfaat bagi perkembangan Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta.
Yogyakarta, 22 Oktober 2010
Penulis
xi
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 ............................................................................ 4 BAB II: DASAR TEORI 2.1. Global System for Mobile Comunication ............................................... 5 2.1.1. Jaringan GSM ............................................................................. 6 2.2. Short Message Service .......................................................................... 8 2.2.1. Aristektur Jaringan GSM yang Mendukung SMS ....................... 8 2.3. Komunikasi Serial RS 232 .................................................................... 10 2.4. Mikrokontroler ATMega8535 ................................................................ 12 2.5. Gammu.................................................................................................. 13 2.5.1. Kemampuan Gammu .................................................................. 13 2.5.2. Perintah- Perintah Gammu ......................................................... 14 2.6. XAMPP ................................................................................................. 14 2.7. Water Leak Detector .............................................................................. 15
xii
2.8. Telepon Seluler Siemens C55 ................................................................ 16 2.9. Relay .................................................................................................... 16 BAB III: RANCANGAN PENELITIAN 3.1. Proses Kerja Sistem .............................................................................. 18 3.1.1. SMS Perintah ............................................................................. 19 3.1.2. SMS Konfirmasi ......................................................................... 19 3.2. Perancangan dan Pembuatan Perangkat Keras ....................................... 20 3.2.1. Perancangan dan Pembuatan Pengubah Level Tegangan ............ 20 3.2.2. Perangkat Interface Telepon Seluler dengan PC ......................... 21 3.2.3. Rangkaian Relay Driver ............................................................. 22 3.2.4. Perancangan Penyiram Taman .................................................... 23 3.2.5. Perancangan Rangkaian Sensor................................................... 23 3.2.6. Rangkaian Minimum System Mikrokontroler ............................ 24 3.3. Perancangan Perangkat Lunak ............................................................... 25 3.3.1. Perancangan Program Pada Mikrokontroler ............................... 25 3.3.2. Subroutine Kendali Penyiram Taman ......................................... 26 3.3.3. Perancangan Program Pada Personal Computer ......................... 27 3.3.4. Subroutine Baca SMS -Penerimaan ............................................ 29 3.3.5. Subroutine Konfrimasi Error....................................................... 30 3.3.6. Subroutine Status Pengendali ...................................................... 31 3.3.6.1. Subroutine Kirim Status Aktif Pengendali....................... 31 3.3.6.2. Subroutine Kirim Status Tidak Aktif Pengendali............. 32 3.3.7. Subroutine Status Pemantauan .................................................... 32 3.4. Proses Mode Komunikasi ...................................................................... 33 3.4.1.Komunikasi Antara PC dengan Mikrokontroler ........................... 33 3.4.2.Kecepatan Transfer Data.............................................................. 34 3.4.3.Protokol Komunikasi Data ........................................................... 34 3.4.4.Level Tegangan Komunikasi USART .......................................... 34 3.4.5.Proses Pengiriman Data ............................................................... 35 3.4.6.Proses Penerimaan Data............................................................... 35 3.5. Perancangan Database........................................................................... 35
xiii
BAB IV: HASIL DAN PEMBAHASAN 4.1. Cara Kerja Sistem .................................................................................. 37 4.2. Gambar Fisik Hardware ....................................................................... 37 4.3. Pembahasan Data Hasil Percobaan ........................................................ 39 4.3.1. Pembahasan Data Hasil Percobaan Lama Waktu Penyiraman ..... 40 4.4. Pengujian Perangkat Lunak ................................................................... 41 4.4.1. Gammu ..................................................................................... 41 4.4.2. XAMPP .................................................................................... 42 4.4.3. Pengujian Komunikasi Antara PC dengan mikrokontroler......... 43 4.5. Pengujian Perangkat Keras .................................................................... 44 4.5.1. Pengujian Rangkaian Relay Driver ........................................... 44 4.5.2. Pengujian Rangkaian Sensor ..................................................... 45 4.6. Tampilan Program ................................................................................. 46 4.6.1. Tampilan Form Utama ................................................................ 47 4.6.2. Tampilan Sub Menu Form .......................................................... 48 4.6.2.1. Tampilan Sub Menu FormSMS ..................................... 49 4.6.2.2. Tampilan Sub Menu FormUser ...................................... 49 4.6.2.3. Tampilan Sub Menu FormFormat .................................. 52 4.6.2.4. Tampilan Sub Menu FormRecord .................................. 54 4.6.3. Tampilan Sub Menu Help ........................................................... 55 4.7. Rangkuman Hasil Pengamatan dan Pembuatan Alat .............................. 56 BAB V: KESIMPULAN DAN SARAN 5.1. Kesimpulan .......................................................................................... 57 5.2. Saran .................................................................................................... 57 DAFTAR PUSTAKA ............................................................................................... 58 LAMPIRAN .............................................................................................................. 59
xiv
DAFTAR GAMBAR Halaman Gambar 1.1. Model Sistem ....................................................................................... 3 Gambar 2.1. Dasar Elemen Jaringan GSM ............................................................... 6 Gambar 2.2. Arsitektur Jaringan GSM yang Mendukung SMS .................................. 9 Gambar 2.3. Konektor DB 9...................................................................................... 10 Gambar 2.4. Pin ATMega 8535 ................................................................................. 12 Gambar 2.5. Pin eksternal Siemens C55 tampak bawah............................................. 16 Gambar 2.6. Simbol Relay ........................................................................................ 17 Gambar 3.1. Blok Diagram Sistem ............................................................................ 18 Gambar 3.2. Rangkaian Pengubah Level Tegangan ................................................... 21 Gambar 3.3. Rangkaian Interface Telepon Seluler dengan PC ................................... 21 Gambar 3.4. Rangkaian Relay Driver ........................................................................ 22 Gambar 3.5. Gambar prototype penyiram taman ....................................................... 23 Gambar 3.6. Rangkaian Sensor ................................................................................. 23 Gambar 3.7. Rangkaian Sistem Minimum Mikrokontroler ........................................ 24 Gambar 3.8. Diagram Alir Utama pada Mikrokontroler............................................. 25 Gambar 3.9. Diagram Alir Subroutine Penyiram Taman............................................ 26 Gambar 3.10. Diagram Alir Utama Program pada PC ................................................ 28 Gambar 3.11. Diagram Alir Subroutine Baca SMS-Penerimaan .................................. 29 Gambar 3.12. Diagram Alir Subroutine Konfirmasi Kesalahan ................................... 30 Gambar 3.13. Diagram Alir Subroutine Kirim Status Aktif Pengendali ....................... 31 Gambar 3.14. Diagram Alir Subroutine Kirim Status Tidak Aktif Pengendali ............ 32 Gambar 3.15. Diagram Alir Subroutine Kirim Status Tidak Aktif Pengendali ............ 33 Gambar 4.1. Rangkaian Regulator ............................................................................. 37 Gambar 4.2. Rangkaian sensor water leak detector ................................................... 38 Gambar 4.3. Rangkaian relay driver .......................................................................... 38 Gambar 4.4. Rangkaian minimum system mikrokontroler .......................................... 38 Gambar 4.5. Rangkaian komunikasi serial ................................................................. 38 Gambar 4.6. Prototype penyiram taman .................................................................... 39 Gambar 4.7. Tampilan gammu aktif .......................................................................... 42
xv
Gambar 4.8. Tampilan XAMPP aktif ........................................................................ 42 Gambar 4.9. Pengujian komunikasi antara PC dengan mikrokontroler ....................... 43 Gambar 4.10. Struktur program interface pengendali dan pemantau penyiram taman .. 47 Gambar 4.11. Tampilan FormUtama ........................................................................... 48 Gambar 4.12. Tampilan Sub Menu Form .................................................................... 48 Gambar 4.13. Tampilan FormSMS.............................................................................. 49 Gambar 4.14. Tampilan FormUser .............................................................................. 50 Gambar 4.15. Database nomor telepon user ................................................................ 51 Gambar 4.16. Tampilan FormFormat .......................................................................... 52 Gambar 4.17. Database format isi SMS ...................................................................... 53 Gambar 4.18. Tampilan FormRecord .......................................................................... 54 Gambar 4.19. Tampilan About .................................................................................... 55 Gambar 4.20. Tampilan Help program ........................................................................ 55
xvi
DAFTAR TABEL Halaman Tabel 2.1. Tabel Tonggak Sejarah GSM ................................................................... 5 Tabel 2.2. Tabel Keterangan pin DB 25 dan DB 9 ..................................................... 11 Tabel 2.3. Tabel Fungsi Pin DB 9 ............................................................................. 11 Tabel 2.4. Keterangan susunan pin eksternal Siemens C55 ........................................ 16 Tabel 3.1. Jenis-jenis perintah pada SMS perintah ..................................................... 19 Tabel 3.2. Jenis-jenis SMS konfirmasi ...................................................................... 19 Tabel 4.1. Format SMS ............................................................................................. 39 Tabel 4.2. Pengolahan SMS perintah ......................................................................... 40 Tabel 4.3. Lama waktu penyiraman ........................................................................... 41 Tabel 4.4. Hasil pengujian rangkaian relay driver ..................................................... 44 Tabel 4.5. Pengujian rangkain sensor ........................................................................ 46
xvii
BAB I PENDAHULUAN
1.1
Latar Belakang Kehidupan yang semakin padat menyebabkan masyarakat sering beraktivitas di
luar rumah. Hal 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 memanfaatkan komunikasi bergerak yang memudahkan pekerjaan manusia. Sistem komunikasi bergerak diyakini akan memegang peranan yang semakin penting dalam memenuhi kebutuhan telekomunikasi [1]. Teknologi komunikasi bergerak (mobile communication), terutama Global System for Mobile Comunication (GSM), berkembang dengan cepat, semakin murah, dan jangkauan area dan pasar yang semakin luas.. Short Message Service (SMS) adalah salah satu layanan yang terdapat pada telepon seluler berteknologi GSM yang sangat populer [2]. Selain memiliki biaya operasional yang sangat murah, fasilitas ini juga merupakan media komunikasi dan sarana informasi yang paling banyak digunakan di dunia. Meskipun saat ini banyak pengembangan pengiriman pesan, SMS tetap menjadi pilihan utama bagi setiap orang sebagai sarana komunikasi. Layanan SMS menurut penulis dapat digunakan sebagai pengaturan sarana perangkat elektronik di rumah. Perangkat-perangkat elektronik tidak semuanya bersifat otomatis, sehingga masih diperlukan pengoperasian secara manual dan harus bisa diatur dalam keadaan aktif maupun nonaktif, sebagai contoh penyiram taman. Dengan menggabungkan unsur telekomunikasi dan kendali, SMS dapat diaplikasikan sebagai pesan yang dapat menggendalikan penyiram taman. Saat ini, suatu sistem yang memberikan solusi untuk mengatasi permasalahan dalam mengendalikan dan mengawasi kinerja dari perangkat-perangkat elektronik di dalam rumah telah dikembangkan meskipun para pemilliknya tidak sedang berada di dalam rumah [3]. Sistem yang lebih dikenal dengan istilah Home Automation adalah suatu sistem untuk mengendalikan kinerja dari peralatan-peralatan elektronik di dalam rumah dari jarak jauh dengan memanfaatkan media komunikasi bersifat nirkabel (wireless). Sistem seperti ini umumnya memanfaatkan layanan SMS pada telepon seluler.
1
2 Penelitian kali ini hanya akan mengambil bagian dari home automation yaitu pengendali otomatis penyiram taman. Penyiram taman otomatis yang dibuat kali ini lebih sederhana dan tidak membutuhkan biaya yang besar, sehingga dapat digunakan oleh semua lapisan masyarakat. Sistem penyiram taman ini akan menggunakan layanan SMS.
Tujuan Penelitian dan Manfaat Penelitian
1.2
Tugas akhir ini bertujuan untuk menghasilkan penyiram taman otomatis menggunakan layanan SMS. Manfaat yang akan dicapai dalam penelitian ini yaitu penyiram taman otomatis yang dapat diaplikasikan dalam rumah tangga maupun layanan publik lainnya. Hasil penelitian ini juga bisa digunakan sebagai rujukan untuk pengembangan lebih lanjut pemanfaatan teknologi komunikasi bergerak dalam membantu menjawab tantangan tentang peningkatan kenyamanan rumah secara otomatis.
1.3
Batasan Masalah Adapun spesifikasi alat yang akan dirancang:
Memanfaatkan jaringan dengan teknologi GSM
Komunikasi antara telepon seluler melalui SMS dengan komputer menggunakan gammu
1.4
Interface antara komputer dengan mikro menggunakan kabel serial port RS 232
Menggunakan mikrokontroler buatan Atmega yaitu AVR 8535
Menggunakan jenis telepon seluler Siemens C55
Menggunakan water leak detector
Metodologi Penelitian Metodologi yang digunakan dalam penelitian tugas akhir ini adalah sebagai berikut: 1. Studi Pustaka Mencari data-data yang berkaitan dengan alat yang akan dibuat, dari literatur buku-buku, jurnal-jurnal, majalah-majalah elektronika, dan situs-situs intenet untuk mempelajari hal-hal sebagai berikut:
3 a. Mempelajari karakteristik telepon seluler yang akan digunakan sebagai handset b. Perintah gammu c. Karakteristik mikrokontroler AVR 8535 termasuk cara pemograman dan interface d. Mempelajari water leak detector
2. Perancangan sistem Rancangan umum model sistem penyiram taman otomatis menggunakan layanan SMS ditunjukkan pada Gambar 1.1.
Telepon seluler (User)
Telepon seluler (User)
Sistem (PC,Mikro)
Beban
Gambar 1.1. model sistem Kondisi penyiram taman akan terpantau oleh sensor-sensor yang terhubung sistem. Telepon seluler terhubung ke PC yang akan mengirimkan pesan lewat layanan SMS dan telepon seluler penerima akan mengetahui kondisi penyiram taman. Sistem ini menggunakan pemrogaman gammu sebagai interface ke telepon seluler dan program Visual Basic sebagai program pengendalinya.
3. Penentuan parameter Parameter yang akan diukur dalam percobaan ini meliputi kondisi beban (penyiram taman) sesuai set point yang telah ditetapkan, kondisi on dan off pada beban sesuai kondisi yang diharapkan. Seluruh pemantauan kondisi penyiram taman dapat dipantau dan dikendalikan dengan telepon seluler melalui layanan SMS. Data yang diambil merupakan perbandingan antara kondisi yang diharapkan dengan kondisi alat sesungguhnya.
4. Analisa data dan kondisi Proses mengintegrasikan sistem antara perangkat keras dengan perangkat lunak. Kemudian dilakukan pengujian antar segmen dan analisa terhadap hasil yang telah didapatkan
4 5. Pengambilan kesimpulan. Membuat kesimpulan dari hasil penelitian yang telah dilakukan berkaitan dengan hal-hal teknis dari perangkat.
1.5
Sistematika Penulisan Sistematika penulisan tugas akhir ini adalah sebagai berikut :
BAB I: PENDAHULUAN Bab ini berisi latar belakang masalah, tujuan dan manfaat penelitian, batasan masalah, metodologi penelitian dan sistematika penulisan.
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, tampilan 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.
BAB II DASAR TEORI
Bab ini membahas teori-teori tentang Global System for Mobile Communications (GSM), Short Message Service (SMS), komunikasi serial RS-232, Mikrokontroler ATMega8535, Gammu, XAMPP, water leak detector, telepon seluer Siemens, dan Relay.
2.1
Global System for Mobile Communication Sepanjang evolusi telekomunikasi seluler, berbagai sistem telah dikembangkan
tanpa manfaat spesifikasi standar. Banyak masalah disajikan secara langsung berkaitan dengan kompatibilitas, terutama dengan perkembangan teknologi radio digital [4]. Standar GSM dimaksudkan untuk mengatasi masalah ini. Dari tahun 1982-1985 diskusi diselenggarakan untuk memutuskan antara membangun sistem analog atau digital. Setelah beberapa uji lapangan, sebuah sistem digital diadopsi untuk GSM. Pada bulan Mei 1987, Time Division Multiple Access (TDMA) dipilih sebagai solusi untuk metode akses. Ringkasan tonggak sejarah GSM diberikan dalam Tabel 2.1.
Tabel 2.1 Tabel Tonggak Sejarah GSM [4] Tahun
Tonggak sejarah
1982
GSM dibentuk
1986
Uji lapangan
1987
TDMA dipilih sebagai metode akses
1988
Menandatangani nota kesepahaman
1989
Validasi sistem GSM
1990
Sistem preoperation
1991
Sistem komersial start-up
1992
Cakupan kota-kota besar / bandara
1993
Jangkauan jalan utama
1995
Jangkauan pedesaan
5
6
2.1.1 Jaringan GSM Jaringan GSM terdiri atas tiga subsistem yaitu Mobile Station (MS), Base Station Subsystem (BSS), dan Network Switching Subsystem (NSS) [4]. Dasar elemen jaringan GSM diperlihatkan pada Gambar 2.1.
Gambar 2.1. Dasar Elemen Jaringan GSM [4]
Mobile Station terdiri dari [3] : 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). b. Subcriber Identification Module Subcriber Identification Module (SIM) card berisi International Mobile Subscriber Identity (IMSI), secret key (kunci rahasia) untuk otentikasi, 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).
7 Network Switching Subsystem terdiri dari [4] : a. Mobile Switching Center Mobile Switching Center (MSC) berfungsi untuk switching suatu panggilan telepon dari jaringan internal atau dari jaringan lain (eksternal), call routing untuk subscriber yang melakukan roaming, menyimpan informasi billing serta data base lain yang berisi informasi subscriber ID (IMSI), nomor telepon seluler subscriber, otentikasi, informasi lokasi subscriber, dan beberapa layanan atau larangan yang berkaitan dengan subscriber. 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 sementara 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 otentikasi dan enkripsi pada channel radio. e. Equipment Identity Register Equipment Identity Register (EIR) merupakan database yang berisi daftar valid mobile equipment pada jaringan yang berupa IMEI.
Base Station Subsytem terdiri dari [4] : a. Base Tranciever System Base Tranciever System (BTS) merupakan alat tranceiver 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. Fungsi tersebut memungkinkan
8 operasi seperti handover, cell site configuration, management of radio resources, dan menyetel power level dari frekuensi radio BTS.
2.2
Short Message Service Short Message Service (SMS) merupakan salah satu layanan pesan teks yang
dikembangkan dan distandarisasi oleh suatu badan yang bernama ETSI (European Telecomunication Standards Institute) sebagai bagian dari pengembangan GSM Phase 2, yang terdapat pada dokumentasi GSM 03.40 dan GSM 03.38. Fitur SMS ini memungkinkan perangkat Stasiun Seluler Digital (Digital Cellular Terminal, seperti telepon seluler) untuk dapat mengirim dan menerima pesan-pesan teks dengan panjang sampai dengan 160 karakter melalui jaringan GSM [2] [5]. SMS dapat dikirimkan ke perangkat Stasiun Seluler Digital lainnya hanya dalam beberapa detik selama berada pada jangkauan pelayanan GSM. Lebih dari sekedar pengiriman pesan biasa, layanan SMS memberikan garansi SMS akan sampai pada tujuan meskipun perangkat yang dituju sedang tidak aktif karena sedang dalam kondisi mati atau berada di luar jangkauan layanan GSM. Jaringan SMS akan menyimpan sementara pesan yang belum terkirim, dan akan segera mengirimkan ke perangkat yang dituju setelah adanya tanda kehadiran dari perangkat dijaringan tersebut. Fakta bahwa layanan SMS (melalui jaringan GSM) mendukung jangkauan atau jelajah nasional dan internasional dengan waktu keterlambatan yang sangat kecil, memungkinkan layanan SMS cocok untuk dikembangkan sebagai aplikasi-aplikasi seperti: pager, e-mail, dan notifikasi voice mail, serta layanan pesan banyak pemakai (multiple users). Namun pengembangan aplikasi tersebut masih bergantung pada tingkat layanan yang disediakan oleh operator jaringan [6].
2.2.1 Arsitektur Jaringan GSM yang Mendukung SMS Untuk implementasi jaringan SMS, operator menyediakan SMS Center (SMSC) [6]. Secara fisik SMSC dapat berwujud sebuah komputer biasa yang mempunyai interkonektivitas dengan jaringan GSM. Arsitektur jaringan GSM yang mendukung SMS ditunjukkan Gambar 2.2.
9
Gambar 2.2. Arsitektur Jaringan GSM yang Mendukung SMS [7]
Fungsi dari jaringan GSM yang mendukung SMS [7]: a. Short Message Center Short Message Center merupakan entitas yang melakukan pekerjaan menyimpan dan meneruskan pesan ke dan dari mobile station. Short Message Entity (SME) yang dapat berada dijaringan tetap atau mobile station, menerima dan mengirim pesan singkat. b. Short Message Service–Gateway MSC Short Message Service–Gateway MSC merupakan sebuah gerbang MSC yang juga dapat menerima pesan singkat. Gateway MSC adalah jaringan mobile sudut kontak dengan jaringan lain. Bila menerima pesan singkat dari pusat pesan, maka GMSC yang menggunakan jaringan SS7, menginterogasi posisi saat ini dari mobile station membentuk HLR. c. Home Location Register Home Location Register adalah database utama dalam sebuah jaringan selular. Menyimpan informasi tentang profil berlangganan mobile dan juga tentang informasi routing untuk pelanggan, yaitu area (tertutup oleh MSC) saat mobile berada. d. Mobile Switching Center Mobile Switching Center merupakan entitas dalam jaringan GSM yang melakukan pekerjaan untuk beralih hubungan antara mobile station atau antara mobile station dan jaringan tetap. e. Visitor Location Register Visitor Location Register berisi informasi tentang mobile station informasi seperti identifikasi dan sel (atau kelompok sel) saat mobile station ini berada.
10
2.3
Komunikasi Serial RS-232 Standar
RS232
ditetapkan
oleh
Electronic
Industry
Association
and
Telecomunication Industry Association pada tahun 1962. Nama lengkapnya adalah EIA/TIA-232 Interface Between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange. Meskipun namanya cukup panjang, tetapi standar ini hanya menyangkut komunikasi data antara komputer dengan alat-alat pelengkap komputer. Beberapa parameter yang ditetapkan EIA (Electronics Industry Association) antara lain: a.
Sebuah ‘spasi’ (logika 0) antara tegangan +3 s/d +25 volt
b.
Sebuah ‘tanda’ (logika 1) antara tegangan -3 s/d -25 volt
c.
Daerah tegangan antara +3 s/d -3 volt tidak didefenisikan
d.
Tegangan rangkaian terbuka tidak boleh lebih dari 25 volt (dengan acuan ground)
e.
Arus hubung singkat rangkaian tidak boleh lebih dari 500 mA. Sebuah penggerak (driver) harus mampu menangani arus ini tanpa mengalami
kerusakan. Selain mendeskripsikan level tegangan seperti yang dibahas di atas, standard RS232 menentukan pula jenis-jenis sinyal yang dipakai mengatur pertukaran informasi antara DTE dan DCE, semuanya terdapat 24 jenis sinyal tapi yang umum dipakai hanyalah 9 jenis sinyal. Konektor yang dipakai pun ditentukan dalam standard RS232. Konektor DB9 hanya bisa dipakai untuk 9 sinyal yang umum dipakai. Gambar 2.3. menunjukkan konektor DB 9, sedangkan Tabel 2.2. menunjukkan keterangan pin DB 9, dan Tabel 2.3. menunjukkan Fungsi Pin DB 9 [8].
Gambar 2.3. konektor DB 9 [8]
11 Tabel 2.2. Tabel Keterangan pin DB 25 dan DB 9 [8] Pin DB9
Singkatan
Keterangan
Pin 3
TD
Transmit Data
Pin 2
RD
Receive Data
Pin 7
RTS
Request To Send
Pin 8
CTS
Clear To Send
Pin 6
DSR
Data Set Ready
Pin 5
SG
Signal Ground
Pin 1
CD
Carrier Detect
Pin 4
DTR
Data Terminal Ready
Pin 9
RI
Ring Indicator
Tabel 2.3. Tabel Fungsi Pin DB 9 [8] Singkatan Keterangan
Fungsi
TD
Transmit Data
Untuk pengiriman data serial (TDX)
RD
Receive Data
Untuk penerimaan data serial (RDX)
RTS
Request To Send
CTS
Clear To Send
DSR
Data Set Ready
CD
Carrier Detect
DTR
RI
Sinyal untuk menginformasikan modem bahwa UART siap melakukan pertukaran data Digunakan untuk memberitahukan bahwa modem siap untuk melakukan pertukaran data Memberitahukan UART bahwa modem siap untuk melakukan pertukaran data Saat modem mendeteksi suatu “carrier” dan modem lain maka sinyal akan diaktifkan
Data Terminal
Kebalikan dari DSR untuk memberitahukan bahwa
Ready
UART siap melakukan hubungan komunikasi
Ring Indicator
Akan aktif jika modem mendeteksi adanya sinyal dering dan saluran telepon
12
2.4
Mikrokontroler ATMega8535 Mikrokontroler adalah suatu keping IC yang mempunyai mikroprosesor dan
memori program (ROM) serta memori serbaguna (RAM). Bahkan ada beberapa jenis mikrokontroler yang memiliki fasilitas ADC, PLL, dan EEPROM dalam satu kemasan. Secara umum, AVR dapat 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. Dari segi arsitektur dan instruksi yang digunakan, bisa dikatakan hampir sama. Oleh karena itu ATMega8535 dipergunakan sebagai salah satu AVR produk Atmel. Selain mudah didapatkan dan lebih murah, ATMega8535 juga memiliki fasilitas yang lengkap. AT Mega 8535 memiliki teknologi RISC dengan kecepatan maksimal 16 MHz, sehingga membuat ATMega8535 lebih cepat bila dibandingkan dengan varian MCS 51. Fasilitas lengkap tersebut menjadikan ATMega8535 sebagai mikrokontroler yang powerfull [9].
Gambar 2.4. Pin AT Mega 8535 [9]
Konfigurasi pin ATMega8535 bisa dilihat pada Gambar 2.4. Dari gambar tersebut dapat dijelaskan konfigurasi pin ATMega8535 secara fungsional sebagai berikut [9] :
13 a.
VCC merupakan pin input catu daya.
b.
GND merupakan pin ground.
c.
Port A (PA0..PA7) merupakan pin input/output (I/O) dua arah dan pin input ADC.
d.
Port B (PB0..PB7) merupakan pin input/output (I/O) dua arah dan pin fungsi khusus, yaitu timer/counter, komparator analog, dan SPI.
e.
Port C (PC0-PC7) merupakan pin input/output (I/O) dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan timer oscilator.
f.
Port D (PD0-PD7) merupakan pin input/output (I/O) dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal dan komunikasi serial.
g.
RESET merupakan pin yang digunakan untuk melakukan reset pada mikrokontroler.
h.
XTAL1 dan XTAL2 merupakan pin input untuk clock eksternal.
i.
AVCC merupakan pin input tegangan untuk ADC.
j.
AREF merupakan pin input tegangan referensi untuk ADC
2.5
Gammu Gammu adalah nama sebuah project yang ditujukan untuk membangun sebuah
tools dan driver, yang dapat menangani telepon seluler di dalam windows maupun linux [10] . Tool yang dimiliki oleh gnokii mencakup driver modem, tool atau console, aplikasi yang berbasiskan grafis dan banyak lagi.
Dengan lisensi GNU atau GPL, menjamin
kebebasan menggunakan tool ini tanpa perlu takut masalah legalitas dan biaya mahal yang harus dikeluarkan, agar dapat menggunakan atau memanfaatkan sms gateway. Dalam paket terbaru gammu juga tesedia sebuah daemon untuk menangani SMS dengan nama smsdrc. Smsdrc bukan hanya dapat manampilkan SMS yang masuk ke dalam telepon seluler, tetapi juga akan menyimpan SMS tersebut ke dalam sebuah database. Database yang digunakan adalah database server MySQL dan PostgreSQL. Selain itu, SMS juga dapat disimpan kedalam file.
2.5.1 Kemampuan Gammu Kemampuan yang dapat ditangani oleh gammu, diantaranya adalah sebagai berikut: 1. Membaca, menghapus, mengirim SMS 2. Membuat atau menghapus folder SMS 3. Membaca, menulis, menghapus isi phonebook
14 4. Membaca, menulis, menghapus catatan kalender pada ponsel 5. Operasi memanggil atau menerima telepon 6. Penanganan setting pada ponsel 7. Penanganan featur WAP ponsel 8. Penanganan security, logo dan ringtone untuk ponsel
2.5.2 Perintah - Perintah Gammu Beberapa perintah yang sering digunakan dalam Gammu adalah sebagai berikut: 1. Untuk mengetahui versi gnokii yang digunakan gammu –version 2. Untuk menampilkan informasi detail mengenai ponsel yang terpasang. gammu –identify 3. Untuk membaca sms yang masuk gammu –smsreader 4. Untuk mengirim sms gammu --sendsms <no tujuan> 5. Sebagai smsd gammu –smsd
2.6 XAMPP XAMPP adalah perangkat lunak bebas yang mendukung banyak sistem operasi dan merupakan sebuah kompilasi fitur dari beberapa program [11]. XAMPP 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: 1.
X yang
artinya
Program
ini
dapat
dijalankan
dibanyak
sistem
operasi,
seperti Windows, Linux, Mac OS, dan Solaris. 2.
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.
15 3.
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.
4.
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.
5.
P yaitu Perl, bahasa pemrograman.
Bagian-bagian XAMPP yang biasa digunakan pada umumnya adalah sebagai berikut : a) htdoc adalah folder tempat meletakkan berkas-berkas yang akan dijalankan, seperti berkas PHP, HTML dan skrip lain. b) phpMyAdmin merupakan bagian untuk mengelola basis data MySQL yang ada dikomputer. Untuk dapat mengaksesnya, maka buka pada halaman browser lalu ketikkan http://localhost/phpMyadmin, maka akan muncul halaman PHP Myadmin.
Kontrol panel yang berfungsi untuk mengelola layanan (service) XAMPP. Seperti menghentikan (stop) layanan, ataupun memulai (start).
2.7 Water Leak Detector Water leak detector sesuai namanya sensor ini memberikan informasi bila terkena air [12]. Biasa digunakan untuk mengetahui datangnya banjir atau luapan air. Sensor ini cukup sederhana, hanya menggunakan dua bilah logam atau kabel yang akan kontak bila terkena air.
16
2.8 Telepon Seluler Siemens C55 Siemens C55 memiliki pin konektor eksternal yang dapat dimanfaatkan untuk pengendalian telepon seluler dari luar dengan piranti bantu mikrokontroler ataupun PC [13]. Pin konektor dari Siemens C55 dapat dilihat pada Gambar 2.5. Keterangan dari pinpin eksternal Siemens C55 terdapat pada Tabel 2.4.
Gambar 2.5. Pin eksternal Siemens C55 tampak bawah [13].
Tabel 2.4. Keterangan susunan pin eksternal Siemens C55 [13]. No pin
Nama pin
Deskripsi
1
Vin
Power Charging
2
Ground
Saluran ground
3 4
Tx Rx
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
11
Ground mic
12
EPP
Data output Data input
Kutub negatif audio Saluran ground untuk mic External mic
2.8 Relay Relay adalah saklar (switch) elektrik yang bekerja berdasarkan medan magnet. Relay terdiri dari suatu lilitan dan switch mekanik [14]. Switch mekanik akan bergerak jika ada arus listrik yang mengalir melalui lilitan. Simbol relay ditunjukkan Gambar 2.6. Susunan kontak pada relay adalah:
17 a.
Normally Open : Relay akan menutup bila dialiri arus listrik.
b.
Normally Close : Relay akan membuka bila dialiri arus listrik.
c.
Changeover : Relay ini memiliki kontak tengah yang akan melepaskan diri dan membuat kontak lainnya berhubungan.
Gambar 2.6. Simbol Relay [14]
BAB III RANCANGAN PENELITIAN Bab ini membahas proses kerja sistem, perencanaan dan pembuatan perangkat keras, dan perencanaan dan pembuatan perangkat lunak .
3.1
PROSES KERJA SISTEM Tugas akhir ini akan merancang dan membuat suatu alat untuk mengendalikan
penyiram taman secara otomatis menggunakan mikrokontroler ATMega 8535 dengan Short Message Service (SMS). Proses kerja sistem dimulai pada saat user mengirimkan instruksi berupa SMS ke sistem utama. Selanjutnya, data input dari telepon seluler dikonversi oleh PC. Data yang dikonversi di PC akan diproses dan dikirimkan sebagai instruksi ke mikrokontroler. Instruksi yang diberikan dapat berupa instruksi untuk proses pengendalian dan proses pemantauan. Blok diagram sistem yang dibuat dapat dilihat pada Gambar 3.1.
Jaringan GSM
RS
RS Beban
Gambar 3.1. Blok Diagram Sistem
Instruksi pengendalian yang diberikan berupa pengiriman karakter berdasarkan lama waktu penyiraman yang dinotasikan dengan nyala1, nyala2, dan nyala3. Jika dikirim karakter nyala1, maka di dalam mikrokontroler akan diproses instruksi nyala1, yang dikenali sebagai perintah untuk menyalakan penyiram taman selama 10 detik . Jika dikirim karakter nyala2, maka di dalam mikrokontroler akan diproses instruksi nyala2, yang dikenali sebagai perintah untuk menyalakan penyiram taman selama 15 detik. Jika dikirim
18
19 karakter nyala3, maka di dalam mikrokontroler akan diproses instruksi nyala3, yang dikenali sebagai perintah untuk menyalakan penyiram taman selama 20 detik.
3.1.1 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 tersebut dapat berupa angka dan huruf.
Tabel 3.1. Jenis-jenis perintah pada SMS perintah No
Text SMS
Keterangan
1
Nyala1
Menyalakan pompa penyiram taman selama 10 detik
2
Nyala2
Menyalakan pompa penyiram taman selama 15 detik
3
Nyala3
Menyalakan pompa penyiram taman selama 20 detik
4
Pantau
Meminta konfirmasi dari PC tentang kondisi pompa
3.1.2 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 nomor user dan perintah secara berurutan. Tabel 3.2 memperlihatkan Jenis-jenis SMS konfirmasi terkirim yang diterima user. Tabel 3.2. Jenis-jenis SMS konfirmasi No
Text SMS
Keterangan
1
Nomor tidak di kenal
Nomor user tidak sesuai database
2
Format sms tidak di kenal
Format sms tidak sesuai database
3
Pompa 10 detik sensor on
Pompa penyiram taman nyala selama 10 detik dan sensor on
4
Pompa 15 detik sensor on
Pompa penyiram taman nyala selama 15 detik dan sensor on
20 Tabel 3.2. (lanjutan) Jenis-jenis SMS konfirmasi 5
Pompa 20 detik sensor on
Pompa penyiram taman nyala selama 20 detik dan sensor on
6
Pompa mati sensor off
Pompa penyiram taman dalam keadaan mati dan sensor off
7
Pompa siap sensor off
Pompa dalam keadaan mati dan siap dipakai
8
Pompa belum siap sensor off
Pompa masih nyala dan belum bisa dipakai
3.2
PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS Perancangan perangkat keras pada tugas akhir ini menggunakan PC sebagai
pengolahan data dan mikrokontroler ATMega8535 sebagai otak sistem yang berfungsi mengendalikan beban. Koneksi antara telepon seluler dengan PC menggunakan konektor default Siemens yang dihubungkan dengan RS232 yang menggunakan konektor DB9. Komunikasi antara PC dengan mikrokontroler menggunakan komunikasi serial RS232 yang menggunakan konektor DB9.
3.2.1 Perancangan dan Pembuatan Pengubah Level Tegangan Pembuatan tugas akhir ini menggunakan IC MAX232 sebagai pengubah level tegangan. IC MAX232 mempunyai 2 receivers dan 2 drivers. Receivers berfungsi sebagai pengubah level tegangan dari level RS232 ke level Transistor Transistor Logic (TTL). Drivers berfungsi mengubah level tegangan dari level TTL ke level RS232. Pasangan driver/receiver ini digunakan untuk TD dan RD, sedangkan pasangan yang lainnya digunakan untuk CTS dan RTS. Dalam pembuatan rangkaian, IC MAX232 memerlukan beberapa kapasitor. Kapasitor yang digunakan sebesar 1 µF sesuai dengan datasheet. IC ini memerlukan input +5 Volt. Gambar 3.2 memperlihatkan rangkaian pengubah level tegangan.
21
U2
P1
13 8 11 10
1 6 2 7 3 8 4 9 5
C1 1u
1 3 4 5 2 6
C2 CONNECTOR DB9
R1IN R2IN T1IN T2IN
R1OUT R2OUT T1OUT T2OUT
C+ C1C2+ C2V+ V-
VCC GN D
12 9 14 7 VC C 16
5V
15
MAX232A 1u C4 C3 1u
1u
Gambar 3.2. Rangkaian Pengubah Level Tegangan
Koneksi antara IC MAX232 dengan RS232 terhubung melalui koneksi antara pin konektor DB9 dengan pin MAX232. Pin 14 (driver 1 output) IC MAX232 yaitu TD (Transmit Data) terhubung dengan pin2 (received data) DB9. Pin 13 (receiver 1 input) IC MAX232 yaitu RD (Receive Data) terhubung dengan pin 3 (transmitted data) DB9. Sedangkan pin 12 dan pin 13 dari IC MAX232 sebagai output.
3.2.2 Perangkat Interface Telepon Seluler dengan PC Komunikasi serial antara PC dengan telepon seluler memerlukan sebuah perangkat interface yang mengubah level tegangan TTL (Transistor-Transistor Logic) dari telepon seluler menjadi level tegangan RS232 pada PC. Gambar 3.3 menunjukkan rangkaian interface telepon seluler dengan PC.
P1
U2 1 6 2 7 3 8 4 9 5
CONNECTOR DB9
13 8 11 10 C1 1u
C2
1 3 4 5 2 6
R1IN R2IN T1IN T2IN C+ C1C2+ C2V+ V-
J1 R1OUT R2OUT T1OUT T2OUT VCC GND
12 9 14 7 VCC 16
5V
15
MAX232A 1u
1 2 3 4 5 6 7 8 9 10 11 12 hp siemens
C4 C3 1u
1u
Gambar 3.3. Rancangan Interface Telepon Seluler dengan PC
22
3.2.3 Rangkaian Relay Driver Komponen dari rangkaian relay driver terdiri dari transistor 2SC945, 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 tegangan input DC sebesar 12V dan arus minimum sebesar 25mA. Gambar 3.4 menunjukkan gambar rangkaian relay driver yang dirancang.
VCC
12 V
220 V AC K1
2
4 3 D1
5 8
1N4001 6 1
7 1 2
1
RELAY DPDT R1 in RESISTOR
Q2 BC337 3
2
Gambar 3.4. Rangkaian Relay Driver
Nilai
transistor 2SC945 ditentukan sebesar 58 dari pengukuran dengan
multimeter. Dengan menggunakan nilai arus untuk menggerakkan kumparan magnetik relay sebagai nilai arus IC transistor, nilai arus IB dapat dihitung berdasarkan persamaan (3.1) sebagai berikut: IB
IC
IB
25 x10 3 A 4.3 x10 4 A 58
(3.1)
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 (3.2) sebagai berikut:
R1 diperoleh sebesar 10K .
R1
V BB V BE IB
R1
5V 0,7V 10000 4.3 x10 4 A
(3.2)
23
3.2.4 Perancangan Penyiram Taman Sistem penyiram taman ini menggunakan pompa yang berfungsi menyedot air dan water leak detector sebagai pendeteksi air yang lewat dalam selang. Gambar 3.5 menunjukkan gambar prototype penyiram taman. Pompa akan menyedot air dan mengalirkan melalui selang untuk menyiram taman.
Gambar 3.5. Gambar prototype penyiram taman
3.2.5 Perancangan Rangkaian Sensor Sensor ini berfungsi untuk mengetahui ketika ada air yang mengenai sensor. Sensor ini terdiri dari dua buah kabel tembaga, dimana kabel 1 dihubungkan ke Vcc 5 volt dan yang lainnya dihubungkan ke input PORTA.0 mikrokontroler. Dua kabel ini akan diletakan secara berdampingan, tetapi tidak bersentuhan satu dengan yang lain. Sehingga arus tidak akan mengalir dari kabel yang terhubung ke +5 volt menuju kabel yang terhubung ke PORTA.0 mikrokontroler. Peletakan sensor ditunjukkan pada gambar 3.6.
Gambar 3.6. Rangkaian Sensor
24 Dari gambar 3.6 dapat dilihat bahwa jika tidak ada air yang melewati, maka kedua kabel itu tidak akan terhubung satu dengan lainnya. Jika ada air yang melewati dan mengenai kedua kabel tersebut, maka akan menyebabkan arus akan mengalir dari kabel +5 volt ke PORTA.0 mikrokontroler.
3.2.6 Rangkaian Sistem Minimum Mikrokontroler Sistem minimum mikrokontroler berfungsi sebagai media interface dan pemrosesan data antara PC dan unit I/O. Kristal yang digunakan dalam sistem minimum mikrokontroler ini adalah kristal internal yang diatur melalui program. VCC
5V R1 4K7
SW1
U2 1 2 3 4 5 6 7 8
5V
C1 10n
VCC 9 10 11 12 13 14 15 16 17 18 19 20
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
RESET VCC GND XTAL2 XTAL1 PD0(RXD) PD1(TXD) PD2
AREF GND AVCC PC7 PC6 PC5 PC4 PC3
PD3 PD4 PD5
PC2 PC1 PC0
PD6
PD7
40 39 38 37 36 35 34 33
RANGKAIAN SENSOR
5V
32 31 30 29 28 27 26 25
VCC
PENYIRAM TAMAN
24 23 22 21
8535
P1
U2 1 6 2 7 3 8 4 9 5
13 8 11 10 C1 1u
1 3 4 5 2 6
CONNECTOR DB9 C2
R1IN R2IN T1IN T2IN C+ C1C2+ C2V+ V-
R1OUT R2OUT T1OUT T2OUT VCC GND
12 9 14 7 VCC 16
5V
15
MAX232A 1u C4 C3 1u
1u
Title <Title> Size A Date:
Document Number
Wednesday , February 10, 2010
Gambar 3.7. Rangkaian Sistem Minimum Mikrokontroler
Rev Sheet
1
of
1
25 Rangkaian reset digunakan untuk melakukan reset pada mikrokontroler, sehingga eksekusi program mikrokontroler akan dimulai kembali dari awal. Mikrokontroler akan mengeksekusi program pada saat port RST diberi logika ‘0’. Jika port RST diberi logika ‘1’, maka program akan kembali ke awal (reset). Gambar 3.7 menunjukkan rangkaian sistem minimum mikrokontroler.
3.3 Perancangan Perangkat Lunak 3.3.1 Perancangan Program Pada Mikrokontroler Perangkat lunak yang digunakan untuk memprogram mikrokontroler adalah Codevision AVR. Codevision AVR adalah program yang menggunakan bahasa C yang ringkas dan dirancang sebagai compiler bahasa untuk mikrokontroler AVR. Gambar 3.8 menunjukkan diagram alir utama pemrograman pada mikrokontroler.
Mulai
Inisialisasi Port
Ambil data instruksi dari PC?
Tidak
Ya Kendali Penyiram Taman
Kirim data ke PC Gambar 3.8. Diagram Alir Utama pada Mikrokontroler
26 Pada awal program, mikrokontroler akan melakukan inisialisasi terhadap port mikrokontroler dan dilanjutkan dengan deteksi data input dari PC. Setelah mikrokontroler mendapat data input dari PC, mikrokontroler akan melakukan pengendalian. Pengendalian dimaksudkan agar mikrokontroler dapat mengaktifkan beban sesuai instruksi yang diberikan. Instruksi yang diberikan berupa lama waktu penyiraman taman. Proses selanjutnya, pengiriman data ke PC
3.3.2
Subroutine Kendali Penyiram Taman Subroutine kendali penyiram taman berfungsi untuk mengendalikan perangkat
penyiram taman. Saat diberikan instruksi dari PC, mikrokontroler akan mengecek jenis instruksi yang akan dijalankan. Instruksi yang diberikan adalah perintah untuk melakukan penyiraman taman selama waktu yang telah ditentukan. Gambar 3.9 menunjukkan diagram alir subroutine kendali penyiram taman. Mulai
Instruksi Penyirama n Cek instruksi
F
Selesai =1?
=2?
=3?
Pantau
Nyala 10 detik
Nyala 15 detik
Nyala 20 detik
Kondisi pompa
Baca sensor
Kirim ke PC
F Gambar 3.9. Diagram Alir Subroutine Penyiram Taman
F
27 Setelah mikrokontroler mendapatkan instruksi dari PC maka, mikrokontroler akan mengeksekusi instruksi tersebut. Pada saat diberikan instruksi Nyala1, maka di dalam mikrokontroler akan diproses instruksi Nyala1 sebagai 1, yang dikenali sebagai perintah untuk menyalakan penyiram taman selama 10 detik . Jika diberikan instruksi Nyala2, maka di dalam mikrokontroler akan diproses instruksi Nyala2 sebagai 2, yang dikenali sebagai perintah untuk menyalakan penyiram taman selama 15 detik. Jika diberikan instruksi Nyala3, maka di dalam mikrokontroler akan diproses instruksi Nyala3 sebagai 3, yang dikenali sebagai perintah untuk menyalakan penyiram taman selama 20 detik. Jika diberikan instruksi Pantau, maka di dalam mikrokontroler dikenali sebagai instruksi untuk memberitahukan keadaan pompa penyiram taman. Proses selanjutnya, setelah mikrokontroler menjalankan instruksi yang diberikan adalah pendeteksian melalui air yang melewati selang. Pendeteksian dilakuan dengan sensor water leak detector. Langkah selanjutnya mikrokontroler mengirimkan respon hasil pengendalian ke PC.
3.3.3 Perancangan Program pada Personal Komputer Perancangan program pada PC dimaksudkan untuk komunikasi antara telepon seluler, PC, dan mikrokontroler. Program ini menggunakan Gammu sebagai tool dan driver yang dapat menangani fungsi telepon seluler dalam PC. Program pada PC berfungsi untuk memberikan instruksi-instruksi ke mikrokontroler dan mengakusisi data dari sensor. Diagram alir dari program utama pada PC ditunjukkan pada Gambar 3.10. Pada awal program, PC akan melakukan inisialisasi terhadap telepon seluler. Selanjutnya, PC akan melakukan deteksi data input yang berupa SMS pada telepon seluler. Jika terdapat input SMS, maka PC akan memproses SMS yang diterima. Isi sms yang diterima akan diidentifikasi nomor pengirim dan pesan yang dikirim. Proses identifikasi akan dilakukan di dalam subroutine baca SMS-Penerimaan. Setelah proses yang terjadi pada subroutine Baca SMS-Penerimaan selesai, PC akan memberikan instruksi untuk menghapus SMS pada inbox (kotak pesan) telepon seluler. Penghapusan ini dimaksudkan untuk mencegah agar inbox tidak penuh. Inbox yang penuh dapat menyebabkan gangguan pada saat penerimaan SMS. Isi SMS yang sesuai dengan database PC digunakan untuk menentukan instruksi yang akan diberikan kepada mikrokontroler. Nomor pengirim dan isi SMS yang tidak sesuai akan diproses dalam subroutine Konfirmasi Kesalahan.
28 Pada saat terdapat SMS untuk mengaktifkan pengendali, PC akan mengirimkan instruksi pengendalian kepada mikrokontroler. PC akan memberikan konfirmasi secara otomatis kepada user setelah penyiram taman aktif. Proses konfirmasi ini akan dilakukan di dalam subroutine Kirim Status Aktif Pengendali. Status penyiram taman yang sudah tidak aktif akan dikonfirmasikan juga kepada user secara otomatis melalui SMS. Proses konfirmasi status tidak aktif dilakukan di dalam subroutine Kirim Status Tidak Aktif Pengendali. Mulai
Inisialisasi telepon seluler SMS masuk Tidak
Ya Baca SMS –Penerimaan Hapus inbox telepon seluler
Konfirmasi error Ya
Cek error Tidak Tidak Isi SMS untuk pengendalian?
Tidak Isi SMS untuk
Ya Kirim instruksi ke mikrokontroler
Instruksi status pengendali X
Kirim instruksi ke mikrokontroler
Instruksi status pemantauan X
Selesai Gambar 3.10. Diagram Alir Utama Program pada PC
X
29
3.3.4
Subroutine Baca SMS-Penerimaan Subroutine baca SMS-Penerimaan berfungsi untuk identifikasi nomor pengirim dan
isi SMS dengan mengambil data-data dari SMS yang masuk ke inbox. Data-data yang diambil berupa nomor pengirim dan isi SMS. Semua data tersebut akan disimpan sementara di dalam PC. Gambar 3.11 menunjukkan diagram alir dari subroutine Baca SMS-Penerimaan. Data nomor pengirim dan isi SMS yang diterima akan dibandingkan dengan database pada PC. Perbandingan ini dimaksudkan untuk menentukan instruksi yang akan dijalankan selanjutnya oleh PC.
Mulai
A
Terima SMS dari user
Nomor pengirim sesuai database?
Membuka daftar SMS
Ambil dan simpan isi sementara SMS
Ambil dan simpan sementara nomor telepon seluler user
Membandingkan nomor pengirim dengan nomor pada database di PC
A
Tida k
Bandingkan format isi SMS dengan format database PC
Isi SMS sesuai database ?
Tida k
Ya
selesai
Gambar 3.11. Diagram Alir Subroutine Baca SMS-Penerimaan
Masukan sebagai error
30 Data nomor pengirim digunakan untuk identifikasi nomor pengirim. Selain itu, data nomor pengirim tersebut akan digunakan sebagai Destination Number (nomor tujuan) untuk mengirimkan konfirmasi SMS kepada user pada saat nomor pengirim tidak sesuai dengan database PC. Data nomor pengirim dan isi SMS yang tidak sesuai dengan database akan disimpan sebagai variabel data ”error1” dan ”error2”. Kesalahan yang terjadi akan dikonfirmasikan kepada user (pengirim). Konfirmasi kepada user akan dilaksanakan pada subroutine Konfirmasi Kesalahan.
3.3.5
Subroutine Konfirmasi Error Subroutine konfirmasi error berfungsi untuk memberikan konfirmasi kepada user
tentang kesalahan nomor pengirim dan isi SMS yang dikirimkan. Konfirmasi kepada user akan dilakukan dengan mengirimkan SMS kepada user. Format teks dari SMS yang akan dikirimkan kepada user adalah ”format sms tidak dikenal” untuk kesalahan isi SMS dan ”nomor tidak dikenal” untuk kesalahan nomor pengirim. Gambar 3.12 menunjukkan diagram alir dari subroutine konfirmasi error.
Start
B
Tidak Tidak Error 1?
Error 2?
Ya
Ya
“format sms tidak dikenal”
Sisipkan no telepon user
Kirim SMS
“nomor tidak dikenal” Reset semua variabel yang di PC
Ambil nomor telepon user sementara yang tersimpan di PC selesai B
Gambar 3.12. Diagram Alir Subroutine Konfirmasi Error
31
3.3.6
Subroutine Status Pengendali Subroutine status pengendali berfungsi untuk mengkonfirmasikan kepada user
bahwa perangkat penyiram taman sudah dalam status aktif atau dalam status tidak aktif. Subroutine status pengendali terdiri dari kirim status aktif pengendali dan kirim status tidak aktif pengendali.
3.3.6.1 Subroutine Kirim Status Aktif Pengendali Subroutine kirim status aktif pengendali berfungsi untuk mengkonfirmasikan kepada user bahwa perangkat penyiram taman sudah dalam status aktif. Status aktif perangkat penyiram taman akan dikonfirmasikan secara otomatis kepada user melalui SMS. Format teks dari SMS yang akan dikirimkan kepada user adalah ”sensor on” untuk menunjukkan bahwa perangkat penyiram telah aktif . Gambar 3.13 menunjukkan diagram alir subroutine kirim status aktif pengendali. Start
Ambil data status dari mikrokontroler
Tidak Data status pengendali aktif ? Ya Sisipkan format teks “sensor on” Ambil nomor telepon user dari database PC
Kirim SMS ke nomor telepon user
Selesai Gambar 3.13. Diagram Alir Subroutine Kirim Status Aktif Pengendali
32
3.3.6.2 Subroutine Kirim Status Tidak Aktif Pengendali Subroutine tidak aktif pengendali berfungsi mengkonfirmasikan kepada user bahwa perangkat penyiram taman sudah dalam status tidak aktif. Status tidak aktif penyiram taman akan dikonfirmasikan secara otomatis kepada user melalui SMS. Format teks dari SMS yang akan dikirimkan kepada user adalah ” sensor off” untuk menunjukkan bahwa perangkat penyiram tidak aktif. Gambar 3.14 menunjukkan diagram alir subroutine Kirim Status Tidak Aktif Pengendali.
Start
Ambil data dari mikrokontroler Tidak Data status pengendali tidak aktif ? Ya Sisipkan format teks”sensor off”
Ambil nomor telepon user dari database PC
Kirim SMS ke nomor telepon user
Selesai
Gambar 3.14. Diagram Alir Subroutine Kirim Status Tidak Aktif Pengendali
3.3.7
Subroutine Status Pemantauan Subroutine status pemantauan berfungsi untuk mengkonfirmasikan kepada user
tentang status perangkat penyiram taman. Gambar 3.15 menunjukkan flowchart dari subroutine Pemantauan.
33
Mulai
Ambil data dari mikrokontroler Tidak Data status pemantauan
Ya Sisipkan format teks
Ambil nomor telepon user dari database PC
Kirim SMS ke nomor telepon user
Selesai
Gambar 3.15. Diagram Alir Subroutine Kirim Status Pemantauan
3.4 Proses dan Mode Komunikasi 3.4.1 Komunikasi Antara PC dengan Mikrokontroler Proses komunikasi antara PC dengan mikrokontroler menggunakan serial port. Komunikasi data serial dikerjakan oleh USART (Universal Synchronous Asynchronous Receiver Transmitter). Mikrokontroller ATmega8535 memiliki USART yang dapat berfungsi sebagai serial sinkron ataupun serial asinkron dengan operasi Full Duplex yaitu penerima dan pengirim memiliki register tersendiri. Artinya dalam satu waktu dapat melakukan pengiriman data sekaligus menerima data. Komunikasi USART AVR mode asinkron menggunakan 2 buah jalur untuk komunikasi data yaitu RxD (PORTD.0) untuk menerima data dan TxD (PORTD.1) untuk
34 mengirim data. Komunikasi serial asinkron berbeda dengan serial sinkron yaitu tidak adanya sinyal clock yang mensinkronkan komunikasi data, hal yang mensinkronkannya adalah protokol komunikasi data dan kecepatan transfer yang dinyatakan dengan bit per second (bps) atau dikenal dengan nama baud rate. Kedua hal tersebut harus sama untuk setiap perangkat yang akan berkomunikasi secara serial asinkron, jika tidak maka kesalahan data akan terjadi bahkan komunikasi data tidak dapat dilakukan.
3.4.2 Kecepatan Transfer Data (Baud Rate) Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu. Baudrate yang umum dipakai 1200,2400,4800,9600, dan 19200 (bit/detik). Dalam komunikasi data serial, baik dari komputer maupun mikrokontroler harus memiliki baud rate yang sama agar dapat terjadi komunikasi. Pada mikrokontroler ATMega 8535 pengaturan baud rate dilakukan dengan memberikan nilai pada register UBRR. Register UBRR adalah register 16 bit yang terdiri dari UBRRH (UBRR High) dan UBRRL (UBRR Low).
3.4.3 Protokol Komunikasi Data Komunikasi asinkron antar perangkat harus memiliki protokol yang sama antara perangkat satu dengan perangkat yang lain, apabila protokolnya berbeda maka akan terjadi kesalahan komunikasi data. Protokol komunikasi data yang harus diperhatikan adalah start bit yang berfungsi sebagai pemicu, biasanya bernilai 0, penentuan panjang data (6,7 atau 8 bit), paritas berfungsi sebagai pengecekan error data yang ditransfer (genap,ganjil atau tanpa paritas), dan stop bit yang berfungsi sebagai akhir dari komunikasi data, biasanya bernilai 1.
3.4.4 Level Tegangan Komunikasi USART Port serial COM pada komputer menggunakan level tegangan RS232 yaitu saat berlogika 0 nilai tegangannya antara +3 hingga +25 volt. Berlogika 1 tegangannya antara -3 hingga -25 volt. Sedangkan pada port mikrokontroler menggunakan level TTL yaitu logika 0 bernilai 0 volt dan logika 1 bernilai 5 volt. Perbedaan level tegangan ini menyebabkan dibutuhkannya level konverter agar tegangan antar perangkat yang berkomunikasi sama, sehingga komunikasi dapat dilakukan dan tidak terjadi data error.
35 Konverter RS232 dan TTL digunakan untuk menyesuaikan level tegangan port COM komputer dengan port USART pada mikrokontroler.
3.4.5 Proses Pengiriman Data Proses pengiriman data serial pada mikrokontroler dilakukan per byte dengan menunggu register UDR. Register UDR merupakan tempat data serial akan disimpan dan menjadi kosong sehingga siap ditulis yang baru. Proses tersebut menggunakan bit yang ada pada register UCSRA, yaitu bit UDRE (USART Data Register Empty). Bit UDRE merupakan indikator kondisi register UDR. Jika UDRE bernilai satu, maka register UDR telah kosong dan siap diisi dengan data yang baru.
3.4.6 Proses Penerimaan Data Proses penerimaan data serial dilakukan dengan mengecek nilai bit RXC (USART Receive Compelete) pada register UCSRA. RXC akan bernilai satu jika ada data yang siap dibaca di buffer penerima dan bernilai nol jika tidak ada data pada buffer penerima. Jika penerima USART dinonaktifkan, maka bit akan selalu bernilai nol.
3.5 Perancangan Database Sistem ini membutuhkan database untuk menyimpan data user, Format SMS, menyimpan SMS yang diterima, dan mengirimkan SMS. Database akan dibuat menggunakan software Microsoft Access dan software XAMPP yang memiliki MySQL Server untuk manajemen database. Semua database yang digunakan berbentuk tabel. Database yang di buat dari MySQL adalah database yang diperlukan oleh software Gammu untuk melakukan pembacaan dan pengiriman SMS dari PC. Database yang digunakan pada MySQL 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.
36 2. Field TextDecoded Field TextDecoded digunakan untuk menyimpan isi SMS yang terdapat pada inbox telepon seluler dalam bentuk text.
Field yang digunakan pada Tabel outbox adalah sebagai berikut: 1. Field Destination Number 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 nomor telepon user. Database data user dibuat menggunakan software Microsoft Access. Tabel yang digunakan pada Database data user adalah Tabel user yang berupa field user. Field user berisi nomor telepon user. Database Format SMS berisi format SMS yang dapat diakses oleh user. Database Format SMS dibuat menggunakan software Microsoft Access. Tabel yang digunakan pada Database Format SMS adalah Tabel format yang berupa field format. Field format berisi format SMS. Database record SMS berisi rekaman akses SMS terakhir terhadap sistem. Database record SMS dibuat menggunakan software Microsoft Access. Tabel yang digunakan pada Database record SMS adalah Tabel record yang terdiri dari beberapa field yaitu: 1. No Field No berisi urutan SMS yang tersimpan 2. Tanggal Field tanggal berisi keterangan waktu SMS diterima 3. User Field user berisi nomor telepon user yang mengakses 4. Format Field format berisi teks SMS yang diterima sistem
BAB IV HASIL DAN PEMBAHASAN Suatu peralatan atau program dapat dikatakan bekerja dengan baik apabila telah disertai dengan pembuktian terhadap fungsi kerja dari peralatan tersebut. Bab ini akan menjelaskan mengenai cara kerja sistem, gambar fisik alat, pembahasan data hasil percobaan, cara pengujian dari perangkat lunak, cara pengujian perangkat keras, dan Tampilan Program.
4.1
Cara Kerja Sistem Untuk menjalankan sistem utama, maka telepon seluler harus dipastikan telah
terpasang di laptop/PC terlebih dahulu. User juga harus menghubungkan laptop/PC ke minimum system. Langkah selanjutnya adalah menjalankan program XAMPP, gammu dan VB terlebih dahulu. Saat semua telah aktif user dapat memulai pengendalian dan pemantuan dengan mengirim SMS ke sistem utama.
4.2
Gambar Fisik Hardware Dalam penelitian ini, hardware keseluruhan yang dibuat terdiri dari rangkaian
regulator
tegangan,
water leak
detector,
komunikasi
serial,
minimum
system
mikrokontroler, rangkian relay driver, dan prototype penyiram taman. Gambar fisik seluruh hardware ditunjukan pada Gambar 4.1. - 4.6.
Trafo
Gambar 4.1. Rangkaian Regulator
37
38
VCC Output sensor Sensor
Gambar 4.2. Rangkaian sensor water leak detector
VCC
Input Transistor
Relay Gnd
Gambar 4.3. Rangkaian relay driver
Port C sebagai output Tx dan Rx
Port A sebagai input
Gambar 4.4. Rangkaian minimum system mikrokontroler
Tx dan Rx
Konektor DB9
VCC dan Gnd
Gambar 4.5. Rangkaian komunikasi serial
39
Pompa
Splinker Rumput Selang
Gambar 4.6. Prototype penyiram taman
4.3
Pembahasan Data Hasil Percobaan Sistem pengendalian dan pemantauan dilakukan dengan mengirimkan SMS sesuai
dengan database yang telah dibuat. Proses pengendalian dan pemantauan dapat dilaksanakan ketika nomor pengirim dan format SMS yang dikirimkan sesuai dengan database. Pengujian ini dilakukan untuk memeriksa tingkat keakurasian SMS sistem dengan semua proses yang terjadi pada sistem. Hal-hal yang perlu diketahui dalam pengujian SMS adalah : 1. Nomor ponsel pengguna yang tersimpan di dalam database adalah +628994184477. 2. Format-format SMS perintah yang tersimpan di dalam database pada saat pengujian dapat dilihat pada Tabel 4.1. Tabel 4.1. Format SMS No
Format SMS
Keterangan
1
Nyala1
Penyiram taman aktif 10 detik
2
Nyala2
Penyiram taman aktif 15 detik
3
Nyala3
Penyiram taman aktif 20 detik
4
Pantau
Cek kondisi terakhir
SMS yang sesuai database akan diolah dan dijalankan mikrokontroler. Output dari mikrokontroler akan dikonfirmasikan kembali ke user untuk memperlihatkan keakuratan pengolahan SMS dalam sistem. Tabel 4.2 memperlihatkan pengolahan SMS perintah pada program dan eksekusi pada alat telah berjalan sesuai perancangan awal. Proses pengolahan SMS perintah dilakukan sebanyak 10 kali.
40 Tabel 4.2. Pengolahan SMS perintah No 1
User +628994184477
Format SMS Nyala1
Output
Keterangan
Pompa 10 detik sensor Berhasil on
2
+628994184477
Nyala2
Pompa 15 detik sensor Berhasil on
3
+628994184477
Nyala3
Pompa 20 detik sensor Berhasil on
4
+628994184477
Pantau
Pompa siap
Siap
digunakan
kembali 5
6
+628994184477
+628985171228
nyala1
Nyala1
Format
sms
tidak Format
SMS
dikenal
sesuai database
Nomor tidak dikenal
Nomor
user
tidak
tidak
sesuai database
Tabel 4.2 memperlihatkan bahwa saat nomor user dan format SMS sesuai database, PC akan segera mengirimkan instruksi ke mikrokontroler untuk mengaktifkan penyiram taman. Output yang diberikan mikrokontroler ke PC adalah lamanya waktu penyiraman dan kondisi bahwa pompa aktif yang terlihat dari “sensor on”. Saat user mengirimkan Pantau maka PC akan segera mengirimkan instruksi ke mikrokontroler untuk mengecek status terakhir pompa penyiram taman. Saat nomor user sesuai dan format SMS yang dikirim tidak sesuai database, PC akan segera mengirim kembali pesan ke nomor user bahwa format SMS tidak dikenal. Saat nomor user tidak sesuai database, PC akan segera mengirim pesan ke nomor user tersebut bahwa nomor tidak dikenal. Feedback yang sesuai dengan kondisi penyiram taman yang diterima user dijadikan sebagai indikator bahwa alat telah berfungsi dengan baik sesuai dengan perancangan awal.
4.3.1
Pembahasan Data Hasil Percobaan Lamanya Penyiraman Pada pengujian lamanya penyiraman taman, dilakukan pada saat penyiram taman
mulai menyiram taman. pengujian ini berfungsi untuk mengetahui ketepatan lama menyiram taman secara langsung dengan yang sudah di program. Lamanya waktu penyiraman dapat di lihat pada Tabel 4.3.
41 Tabel 4.3 Lama waktu penyiraman No
Pengetesan
Lamanya Waktu (detik) Nyala1
Nyala2
Nyala3
1
1
09.73
14.69
19.55
2
2
09.83
14.61
19.51
3
3
09.89
14.70
19.67
4
4
09.80
14.67
19.34
5
5
09.90
14.44
19.58
6
6
09.92
14.58
19.64
7
7
09.65
14.64
19.67
8
8
09.72
14.53
19.41
9
9
09.64
14.85
19.32
10
10
09.82
14.50
19.30
09.79
14.62
19.50
Rata-rata
Tabel 4.3 memperlihatkan lama waktu penyiraman berdasarkan instruksi yang di kirimkan. Saat user mengirimkan instruksi Nyala1 yang merupakan status untuk menyalakan penyiram taman selama 10 detik, dari hasil pengamatan waktu diperoleh ratarata waktu sebesar 9.79 detik. Saat user mengirimkan instruksi Nyala2 yang merupakan status untuk menyalakan penyiram taman selama 15 detik, dari hasil pengamatan waktu diperoleh rata-rata waktu sebesar 14.62 detik. Saat user mengirimkan instruksi Nyala3 yang merupakan status untuk menyalakan penyiram taman selama 20 detik, dari hasil pengamatan waktu diperoleh rata-rata waktu sebesar 19.50 detik. Dari rata-rata yang diperoleh menunjukan bahwa program yang sudah di buat, memiliki ketepatan dengan hardware. Ini menunjukan program dengan aplikasi hardware dapat berjalan dengan sinkron.
4.4
Pengujian Perangkat Lunak
4.4.1 Gammu Gammu berfungsi sebagai tool dan driver yang dapat menangani fungsi telepon seluler dalam PC. Gammu juga mampu mengidentifikasi jenis telepon seluler yang
42 digunakan dan dalam gammu juga tesedia sebuah daemon untuk menangani SMS dengan nama smsdrc. Smsdrc bukan hanya dapat manampilkan SMS yang masuk ke dalam telepon seluler, tetapi juga akan menyimpan SMS tersebut ke dalam sebuah database. Ketika gammu berhasil dijalankan,
semua inbox yang masuk dalam telepon seluler akan
berpindah ke dalam database yang telah dibuat. Gambar 4.7 menunjukkan ketika gammu berhasil dijalankan.
Gambar 4.7. Tampilan gammu aktif
4.4.2 XAMPP XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi, dan merupakan kompilasi dari beberapa program. XAMPP sendiri berfungsi sebagai server yang dapat berdiri sendiri (localhost). Gambar 4.8 menunjukan status XAMPP telah aktif.
Status XAMPP aktif
Gambar 4.8. Tampilan XAMPP aktif
43
4.4.3 Pengujian Komunikasi Antara PC dengan Mikrokontroler Pengujian komunikasi antara PC dengan mikrokontroler bertujuan mengetahui data yang dikirim dari PC ke mikrokontroler dan sebaliknya. Data yang dikirim PC ke mikrokontroler adalah instruksi untuk mengaktifkan penyiram taman. Output dari respon yang dikerjakan oleh mikrokontroler akan dikirim kembali ke PC. Pengujian ini dilakukan diterminal serial pada program CodeVision AVR. Gambar 4.9 menunjukkan komunikasi antara PC dengan mikrokontroler.
Data dari PC ke mikrokontroler yang tidak sesuai Data dari PC ke mikrokontroler yang sesuai dan respon dari mikrokontroler ke PC
Gambar 4.9. Pengujian komunikasi antara PC dengan mikrokontroler
Proses pengujian komunikasi antara PC dengan mikrokontroler dilakukan dengan memberikan data dari PC. Data yang diberikan berupa sebuah karakter. Saat diberikan data 5, 6, dan 7 mikrokontroler tidak mengenali data tersebut karena tidak sesuai dengan program yang dibuat. Saat dikirimkan karakter 1 dari PC, mikrokontroler mengenali sebagai instruksi menyalakan penyiram taman selama 10 detik. Selama melakukan penyiraman, mikrokontroler akan memberikan respon balik berupa karakter “a” yang menandakan penyiram taman bekerja selama 10 detik dan sensor on. Saat dikirimkan karakter 2 dari PC, mikrokontroler mengenali sebagai instruksi menyalakan penyiram taman selama 15 detik. Selama melakukan penyiraman, mikrokontroler akan memberikan respon balik berupa karakter “b” yang menandakan penyiram taman bekerja selama 15 detik dan sensor on. Saat dikirimkan karakter 3 dari PC, mikrokontroler mengenali sebagai instruksi menyalakan penyiram taman selama 20 detik.
44 Selama melakukan penyiraman mikrokontroler akan memberikan respon balik berupa karakter “c” yang menandakan penyiram taman bekerja selama 20 detik dan sensor on. Saat dikirimkan karakter 4 dari PC, mikrokontroler mengenali sebagai instruksi keadaan terakhir penyiram taman. Feedback yang sesuai dengan kondisi penyiram taman dijadikan sebagai indikator bahwa rangkaian komunikasi serial telah berfungsi dengan baik sesuai dengan perancangan awal.
4.5
Pengujian Perangkat Keras
4.5.1 Pengujian Rangkaian Relay Driver Pengujian rangkaian relay driver dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan jenis transistor NPN, transistor ini akan aktif jika diberi tegangan > 0.7 volt dan tidak akan aktif jika pada basis diberi tegangan < 0.7 volt. Aktifnya transistor akan mengaktifkan relay. Pada perancangan yang dibuat, relay digunakan untuk memutuskan hubungan pompa ke tegangan PLN, hubungan yang digunakan adalah Normally Open (NO). Jika relay dalam keadaan aktif, maka pompa akan terhubung ke tegangan PLN, sehingga pompa hidup. Sebaliknya jika relay dalam keadaan tidak aktif, maka pompa dengan tegangan PLN akan terputus, sehingga pompa mati. Hasil pengujian rangkaian relay driver ditunjukkan Tabel 4.4.
Tabel 4.4. Hasil pengujian rangkaian relay driver No
Input basis Transistor (volt)
Hasil
1
5
Pompa aktif
2
0
Pompa tidak aktif
Tabel 4.4 menunjukkan bahwa rangkaian relay driver untuk pompa dapat bekerja dengan baik sesuai dengan perancangan. Pengujian selanjutnya dilakukan dengan menghubungkan output mikrokontroler pada PORTC.0 ke rangkaian relay driver , kemudian memberikan program sederhana pada mikrokontroler ATMega 8535. Program yang diberikan adalah sebagai berikut:
45 while (1) { // Place your code here PORTC.0=1; delay_ms(100); }; }
Program di atas akan memberikan logika high pada PORTC.0, sehingga PORTC.0 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktifkan transistor C945, sehingga relay akan aktif dan hubungan pompa dengan tegangan PLN terhubung, yang menyebabkan pompa hidup. Berikutnya memberikan program sederhana untuk menonaktifkan relay driver. Programnya sebagai berikut:
while (1) { // Place your code here PORTC.0=0; delay_ms(100); }; }
Program di atas akan memberikan logika low pada PORTC.0, sehingga PORTC.0 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktifkan transistor C945, sehingga relay tidak aktif dan hubungan pompa dengan tegangan PLN terputus, sehingga pompa mati.
4.5.2 Pengujian Rangkaian Sensor Pengujian rangkaian sensor dilakukan saat ada air yang melewati selang. Pengujian ini dilakukan dengan memberi input 5 volt pada salah satu kabel sensor, dan kabel satunya dijadikan output ke PORT mikrokontroler. Pengujian pada rangkaian dapat dilakukan dengan mengukur tegangan output yang dijadikan input mikrokontroler. Hasil pengujian rangkaian sensor ditunjukan Tabel 4.5.
46 Tabel 4.5. Pengujian rangkaian sensor No
Tegangan Output (V)
Keterangan
1
4.6
Sensor terkena air, debit air masih penuh
2
2.1
Sensor tidak terkena air, debit air tinggal sedikit
2
0.8
Sensor tidak terkena air, air dalam selang habis
Tegangan 4.6 volt menunjukan debit air yang melewati selang penuh sehingga sensor terkena air. Tegangan 2.1 volt menunjukan debit air yang melewati selang sudah tidak mengenai sensor dan semakin kecil. Tegangan 0.8 volt menunjukan debit air yang melewati selang sudah habis sehingga sensor tidak terkena air. Semakin kecil debit air yang melewati selang, maka tegangan output dari sensor juga semakin kecil. Nilai tegangan dari output sensor akan dibaca oleh mikrokontroler dan selanjutnya akan didefinisikan oleh mikrokontroler sebagai logika high atau logika low. Sehingga rangkaian sensor dapat dikatakan bekerja dengan baik sesuai dengan perancangan.
4.6
Tampilan Program Interface pengendali dan pemantau penyiram taman pada sistem otomasi rumah
menggunakan layanan SMS merupakan tampilan utama program yang berinteraksi dengan pengguna saat program pertama kali dijalankan. Penambahan tampilan program Interface pengendali dan pemantau penyiram taman pada sistem otomasi rumah menggunakan layanan SMS berfungsi menampilkan data SMS, database user, database format, dan database record. Dengan adanya tampilan interface memudahkan user untuk melihat, menambah, dan menghapus database user yang berisi nomor telepon user yang dapat mengakses sistem yang hanya bias dilakukan dari tampilan interface utama. Selain itu, tampilan interface dapat digunakan untuk untuk melihat, menambah, dan menghapus database format yang berisi format SMS yang dapat mengakses sistem. Gambar 4.10 menunjukkan struktur program interface pengendali dan pemantau penyiram taman pada sistem otomasi rumah menggunakan layanan SMS. Program interface pengendali dan pemantau penyiram taman pada sistem otomasi rumah menggunakan layanan SMS mempunyai 7 buah tampilan utama yaitu tampilan
47 Form Utama, FormSMS, FormUser, FormFormat, FormRecord, About, dan Help program. Perpindahan tampilan hanya dapat dilakukan dari Form utama.
Gambar 4.10. Struktur program interface pengendali dan pemantau penyiram taman
4.6.1 Tampilan Form Utama Saat pertama kali dijalankan, program akan menampilkan menu utama, seperti ditunjukkan oleh Gambar 4.11. Menu utama mempunyai beberapa sub menu yang digunakan untuk mengakses tampilan – tampilan lain maupun untuk keluar dari program. FormUtama berisi beberapa sub menu untuk memproses fitur - fitur yang dimiliki, yaitu : 1. File File memiliki sub menu editor Exit yang berfungsi untuk keluar dari aplikasi program 2. Form Form memiliki fungsi menjalankan perintah untuk menampilkan FormSMS, FormUser, FormFormat, FormRecord, dan menutup FormUtama. 3. Help Help memiliki dua sub menu editor About dan HelpProgram. HelpProgram berfungsi menjalankan perintah membuka Help form dan menutup form Menu Utama. About berfungsi menjalankan perintah membuka About form dan menutup form Menu Utama
48 Sub menu
Gambar 4.11. Tampilan Menu Utama.
4.6.2 Tampilan Sub Menu Form Jika sub menu form pada menu utama ditekan, maka program menampilkan FormSMS, FormUser, FormFormat, dan FormRecord. Keempat form ini berfungsi untuk menampilkan SMS yang diterima, menambah user, menambah format perintah, dan melihat record yang tersimpan . Tampilan sub menu Form ditunjukkan Gambar 4.12. Tampilan sub menu Form
Gambar 4.12. Tampilan Sub Menu Form
49 4.6.2.1 Tampilan Sub Menu FormSMS Sub menu FormSMS berfungsi untuk menampilkan SMS yang diterima, informasi pengirim, dan perintah yang dikirim. Untuk menjalankan FormSMS, telepon seluler harus dipastikan telah terpasang di laptop/PC terlebih dahulu. User juga diharuskan menjalankan program XAMPP dan gammu terlebih dahulu. User dapat mengetahui SMS yang masuk dengan menekan command Mulai terlebih dahulu. Tampilan FormSMS ditunjukkan oleh Gambar 4.13. SMS yang masuk akan tampil di Text Decoded, sedangkan nomor pengirim akan masuk di Sender Number dan perintah yang dikirimkan akan ditampilkan pada perintah. Pesan Kesalahan merupakan pesan yang ditampilkan jika terjadi kesalahan nomor pengirim maupun SMS yang dikirimkan. Keluaran dari mikrokontroler akan ditampilkan di MSComm Output, Output berfungsi menampilkan keadaan penyiram taman, dan Output Sensor berfungsi memberitahukan keadaan sensor. Untuk kembali ke menu utama dari FormSMS, user dapat menekan command button Keluar.
Gambar 4.13. Tampilan FormSMS
4.6.2.2 Tampilan Sub Menu FormUser Sub menu FormUser adalah program untuk menambah, menghapus, dan melihat nomor telepon user yang ada dalam database. FormUser terdiri dari beberapa command button seperti RecAwal, RecSebelum, RecSesudah, RecAkhir, Tambah, Simpan, Hapus, dan Keluar. Tampilan FormUser ditunjukkan pada Gambar 4.14.
50 Untuk menambah database nomor telepon seluler baru dilakukan dengan cara menekan command button Tambah dan kemudian menekan command button Simpan. Menghapus
database nomor telepon seluler dari FormUser dilakukan dengan cara
menekan command button Hapus. RecAwal berfungsi melihat record database nomor telepon seluler paling awal pada FormUser. RecSebelum berfungsi melihat record database nomor telepon seluler sebelumnya yang tertampil di FormUser. RecSesudah berfungsi melihat record database nomor telepon seluler sesudahnya yang tertampil di FormUser. RecAkhir berfungsi melihat record database nomor telepon seluler terakhir pada FormUser. Untuk kembali ke menu utama dari FormUser, user dapat menekan command button Keluar.
Gambar 4.14. Tampilan FormUser
Database nomor telepon user dapat dilihat pada Gambar 4.15. Setiap record yang akan disimpan dari tampilan FormUser akan langsung tersimpan di dalam database. Record yang akan dihapus dari tampilan FormUser akan hilang dari dalam database.
51
Gambar 4.15. Database nomor telepon user
Listing program untuk menambah nomor telepon seluler user adalah sebagai berikut :
Private Sub Tambah_Click() On Error GoTo HandleError 'error untuk penanganan kesalahan If Tambah.Caption = "Tambah" Then DataEnvironment2.rsCommand1.AddNew 'kosongkan field untuk record data baru nonaktifkontrol 'tombol-tombol pengerak record dimatikan Tambah.Caption = "Batal" 'mengganti tulisan tambah menjadi batal Simpan.Enabled = True 'aktifkan tombol simpan txtuser.Locked = False 'buka text user Else DataEnvironment2.rsCommand1.CancelUpdate 'batalkan proses penambahan data txtuser.Locked = True 'kunci text user aktiftombol 'semua tombol penggerak record diaktifkan Tambah.Caption = "Tambah" 'ubah tulisan batal menjadi tambah Simpan.Enabled = False 'disable command simpan DataEnvironment2.rsCommand1.MoveLast 'pindah ke record akhir End If Tambah_Click_Exit: Exit Sub HandleError: 'penyaringan kesalahan MsgBox "Proses Tidak bisa dikerjakan", vbInformation, "Perhatian" On Error GoTo 0 'matikan fungsi penyaringan kesalahan /error End Sub
52 4.6.2.3 Tampilan Sub Menu FormFormat Sub menu FormFormat adalah program untuk menambah, menghapus, dan melihat perintah yang ada dalam database. FormFormat terdiri dari beberapa command button seperti RecAwal, RecSebelum, RecSesudah, RecAkhir, Tambah, Simpan, Hapus, dan Keluar. Tampilan FormFormat ditunjukkan pada Gambar 4.16. Untuk menambah database perintah baru dilakukan dengan cara menekan command button Tambah dan kemudian menekan command button Simpan. Menghapus database perintah dari FormFormat dilakukan dengan cara menekan command button Hapus. RecAwal berfungsi melihat record database format SMS paling awal pada FormFormat. RecSebelum berfungsi melihat record database format SMS sebelumnya yang tertampil di FormFormat. RecSesudah berfungsi melihat record database format SMS sesudahnya yang tertampil di FormFormat. RecAkhir berfungsi melihat record database format SMS paling akhir pada FormFormat. Untuk kembali ke menu utama dari FormFormat, user dapat menekan command button Keluar.
Gambar 4.16. Tampilan FormFormat
Database format isi SMS dapat dilihat pada Gambar 4.17. Setiap record dari database yang akan disimpan dari tampilan FormFormat akan langsung tersimpan di dalam database. Record yang dihapus dari tampilan FormFormat akan hilang dari dalam database.
53
Gambar 4.17. Database format isi SMS
Listing program untuk menambah Format SMS adalah sebagai berikut : Private Sub Tambah_Click() On Error GoTo HandleError 'error untuk penanganan kesalahan If Tambah.Caption = "Tambah" Then DataEnvironment3.rsCommand1.AddNew 'kosongkan field untuk record data baru nonaktifkontrol 'tombol-tombol pengerak record dimatikan Tambah.Caption = "Batal" 'mengganti tulisan tambah menjadi batal Simpan.Enabled = True 'aktifkan tombol simpan txtformat.Locked = False 'buka text user Else DataEnvironment3.rsCommand1.CancelUpdate 'batalkan proses penambahan data txtformat.Locked = True 'kunci text user aktiftombol 'semua tombol penggerak record diaktifkan Tambah.Caption = "Tambah" 'ubah tulisan batal menjadi tambah Simpan.Enabled = False 'disable command simpan DataEnvironment3.rsCommand1.MoveLast 'pindah ke record akhir End If Tambah_Click_Exit: Exit Sub HandleError: 'penyaringan kesalahan MsgBox "Proses Tidak bisa dikerjakan", vbInformation, "Perhatian" On Error GoTo 0 'matikan fungsi penyaringan kesalahan /error End Sub
54 4.6.2.4 Tampilan SubMenu FormRecord Sub menu FormRecord adalah program untuk melihat record yang tersimpan dalam database. Untuk menghapus record yang tersimpan dapat dilakukan dengan menekan command button Hapus. Untuk kembali ke menu utama dari FormRecord , user dapat menekan command button Keluar. Tampilan FormRecord ditunjukkan pada Gambar 4.18. Listing program untuk menambah FormRecord adalah sebagai berikut : Private Sub Data() On Error Resume Next Dim number As Integer DataEnvironment4.rsCommand1.Open Do While Not DataEnvironment4.rsCommand1.EOF T = T + 1 MSFlexGrid1.TextMatrix(T, 0) = DataEnvironment4.rsCommand1.Fields("No") MSFlexGrid1.TextMatrix(T, 1) = DataEnvironment4.rsCommand1.Fields("tanggal") MSFlexGrid1.TextMatrix(T, 2) = DataEnvironment4.rsCommand1.Fields("User") MSFlexGrid1.TextMatrix(T, 3) = DataEnvironment4.rsCommand1.Fields("Format") If Not DataEnvironment4.rsCommand1.EOF Then DataEnvironment4.rsCommand1.MoveNext Loop End Sub
Gambar 4.18. Tampilan FormRecord
55
4.6.3 Tampilan Sub Menu Help Jika sub menu help pada menu utama ditekan maka program akan menampilkan sub menu about dan sub menu program. Sub menu about berisi informasi tentang nama perangkat lunak, copyright dan pembuat perangkat lunak. Tampilan about ditunjukkan oleh Gambar 4.19. About mempunyai command button OK yang berfungsi kembali ke menu utama. Jika Sub menu program ditekan, maka program akan menampilkan Help, seperti ditunjukkan oleh Gambar 4.20. Help berisi panduan penggunaan program. Untuk menggunakan Help, user dipermudah dengan mengikuti link yang disediakan.
Gambar 4.19. Tampilan About
Gambar 4.20. Tampilan Help program
56
4.7
Rangkuman Hasil Pengamatan dan Pembuatan Alat Dari hasil pengujian yang telah dilakukan, proses pengiriman dan penerimaan SMS
tidak mengalami error
atau kesalahan. Alat dapat bekerja dengan baik dilihat dari
feedback yang diterima user. Khusus untuk penampung air, pompa tidak dilengkapi sensor yang memberitahukan jika air dalam penampung habis, sehingga user harus mengecek keadaan air penampungan secara manual.
BAB V KESIMPULAN DAN SARAN
5.1
Kesimpulan Kesimpulan yang dapat diambil dari aplikasi pengendali dan pemantau penyiram
taman pada sistem otomasi rumah menggunakan layanan SMS adalah : 1. Sistem pengendali dan pemantau penyiram taman pada sistem otomasi rumah menggunakan layanan SMS sudah berhasil dibuat dan dapat bekerja dengan baik. 2. Proses penerimaan dan pengiriman SMS dapat ditangani dengan baik oleh PC 3. Mikrokontroler dapat menjalankan instruksi yang diberikan dari PC.
5.2
Saran Saran-saran bagi pengembangan aplikasi ini selanjutnya adalah :
1. Pengembangan pengendali dan pemantau penyiram taman pada sistem otomasi rumah menggunakan layanan SMS dapat ditambahkan sensor untuk mengatur ketersediaan air untuk pompa.
57
DAFTAR PUSTAKA [1].
Rianto, Yan, “IMT-2000: Komunikasi di Mana Saja, Kapan Saja”, Elektro Indonesia, No.21, Mei/Juni 1998.
[2].
_______.Arsitektur-dan-Teknologi-SMS. http://www.wahanaponsel.com/articles/latest_news (diakses oktober 2009)
[3].
_____ . Rumah Pintar-Ku ,Sistem Otomasi Rumah [SOR] -Ku ,Home Automation Ku . http://www.rumahpintar.com (diakses September 2009)
[4].
_____. Tutorials GSM. http://www.iec.org/online/tutorials/gsm (diakses September 2009)
[5].
ETSI, 1996, Technical Realization of the Short Message Service (SMS) Pont-toPont (PP) (GSM 03.40). http://www.mobilecity.cz/doc/GSM_03.40_5.3.0.pdf (DiaksesSeptember 2009)
[6].
Gupta,
P.,
2003.
Short
Message
Service:
What,
How
http://www.wirelessdevnet.com/channels/sms/features/sms.html
and
Where?
(
diakses
September 2009) [7].
____. SMS. http://www.ittelkom.ac.id (diakses september 2009)
[8].
_______ . Komunikasi Serial RS232. http://www.ittelkom.ac.id (diakses september 2009)
[9].
Wardhana, Lingga. 2006. Belajar Sendiri Mikrokontoler AVR ATMega8535 Simulasi, Hardware, dan Aplikasi. Penerbit Andi: Yogyakarta.
[10].
Muhadkly,
2007.
”SMS
Gateway
Menggunakan
Gammu”.
www.ilmukomputer.com (diakses April 2010) [11].
__________ http://en.wikipedia.org/wiki/XAMPP
[12].
_______ . Sensor-sensor yang lain. http://ym-eib.blogspot.com (diakses Januari 2010)
[13].
________. www.my-siemens.com (diakses Januari 2010)
[14].
________ . www.scribd.com/doc/22543322/Komponen (diakses Januari 2010)
58
LAMPIRAN
L- 1 -
L- 2 Listing Program Utama Pada Visual Basic 6.0
Form1(Form Utama) Private Sub Form_Load() Skin1.ApplySkin hWnd SkinLabel1.Caption = "INTERFACE PENGENDALI DAN PEMANTAU PENYIRAM TAMAN PADA SISTEM OTOMASI RUMAH MENGGUNAKAN LAYANAN SMS" SkinLabel2.Caption = "Jam/Tanggal" SkinLabel4.Caption = "<<<<<<<<<<<<
L- 3 a = Left(SkinLabel4.Caption, 1) b = Len(SkinLabel4.Caption) c = Right(SkinLabel4.Caption, b - 1) SkinLabel4.Caption = c + a End Sub
Form2 (FormSMS) Dim jumlahinbox As Integer Private Sub Form_Load() Form1.Enabled = False End Sub Private Sub Command1_Click() On Error Resume Next jumlahinbox = DataEnvironment1.rsCommand1.RecordCount Text1.Text = jumlahinbox Timer1.Enabled = True End Sub Private Sub Command2_Click() On Error Resume Next Timer1.Enabled = False MSComm1.PortOpen = False Form1.Enabled = True Form1.Show Form2.Hide End Sub Private Sub Timer1_Timer() On Error Resume Next reset_teks DataEnvironment1.rsCommand1.Open jumlahinbox = DataEnvironment1.rsCommand1.RecordCount Text1.Text = jumlahinbox If jumlahinbox = 0 Then DataEnvironment1.rsCommand1.Close Else With DataEnvironment1.rsCommand1 .MoveFirst Text5.Text = !SenderNumber Text6.Text = !TextDecoded record End With Timer1.Enabled = False cek_nomor End If End Sub Private Sub cek_nomor() On Error Resume Next Timer1.Enabled = False
L- 4 Dim jumlahnomor As Integer Dim a As String DataEnvironment2.rsCommand1.Open jumlahnomor = DataEnvironment2.rsCommand1.RecordCount If jumlahnomor = 0 Then Text2.Text = "Tidak Sesuai" End If DataEnvironment2.rsCommand1.MoveFirst With DataEnvironment2.rsCommand1 a = !user End With Do Until (jumlahnomor = 0) If Text5.Text = a Then Text2.Text = "Sesuai" cek_isi_sms Exit Do Else Text2.Text = "Tidak Sesuai" jumlahnomor = jumlahnomor - 1 End If DataEnvironment2.rsCommand1.MoveNext If DataEnvironment2.rsCommand1.EOF Then GoTo SELESAI Else With DataEnvironment2.rsCommand1 a = !user End With End If Loop Exit Sub SELESAI: With DataEnvironment2.rsCommand1 a = !user End With If Text5.Text = a Then cek_isi_sms Else Text2.Text = "Tidak Sesuai" Text4.Text = "Nomor pengirim tidak dikenal " kirim_kesalahan_nomor delete DataEnvironment1.rsCommand1.Close Timer1.Enabled = True End If End Sub Private Sub cek_isi_sms() On Error Resume Next Dim b As String Dim jumformat As Integer
L- 5 DataEnvironment3.rsCommand1.Open jumlahformat = DataEnvironment3.rsCommand1.RecordCount If jumlahformat = 0 Then Text3.Text = "Tidak Sesuai" End If DataEnvironment3.rsCommand1.MoveFirst With DataEnvironment3.rsCommand1 b = !Format End With Do Until (jumlahformat = 0) If Text6.Text = b Then Text3.Text = "Sesuai" perintah bukaport vb_to_mikro Exit Do Else Text3.Text = "Tidak Sesuai" jumlahformat = jumlahformat - 1 End If DataEnvironment3.rsCommand1.MoveNext If DataEnvironment3.rsCommand1.EOF Then GoTo SELESAI Else With DataEnvironment3.rsCommand1 b = !Format End With End If Loop Exit Sub SELESAI: With DataEnvironment3.rsCommand1 b = !Format End With If Text6.Text = b Then Text3.Text = "Sesuai" Else Text3.Text = "Tidak Sesuai" Text4.Text = "format sms tidak dikenal " kirim_kesalahan_format delete DataEnvironment1.rsCommand1.Close Timer1.Enabled = True End If End Sub Private Sub perintah() With DataEnvironment1.rsCommand1 Text6.Text = !TextDecoded End With
L- 6 If Text6.Text = "Nyala1" Then Text7.Text = "Pengendalian" ElseIf Text6.Text = "Nyala2" Then Text7.Text = "Pengendalian" ElseIf Text6.Text = "Nyala3" Then Text7.Text = "Pengendalian" ElseIf Text6.Text = "Pantau" Then Text7.Text = "Pemantauan" End If End Sub Private Sub bukaport() MSComm1.CommPort = 6 MSComm1.Settings = "9600,N,8,1" MSComm1.InputLen = 1 MSComm1.DTREnable = True MSComm1.RTSEnable = True MSComm1.RThreshold = 1 MSComm1.SThreshold = 0 MSComm1.PortOpen = True End Sub Private Sub vb_to_mikro() With DataEnvironment1.rsCommand1 Text6.Text = !TextDecoded End With If Text6.Text = "Nyala1" Then MSComm1.Output = "1" ElseIf Text6.Text = "Nyala2" Then MSComm1.Output = "2" ElseIf Text6.Text = "Nyala3" Then MSComm1.Output = "3" ElseIf Text6.Text = "Pantau" Then MSComm1.Output = "4" End If End Sub Private Sub MSComm1_OnComm() Dim strInput As String Select Case MSComm1.CommEvent Case comEvReceive 'Do 'If MSComm1.CommEvent = comEvRecieve Then If MSComm1.InBufferCount = 1 Then strInput = CStr(MSComm1.Input) Text12.Text = strInput 'Loop Until strInput = Chr$(10) 'Text12.Text = Left(Text12.Text, Len(Text12.Text) - 2) 'End Select If Text12.Text = "a" Then Text8.Text = "pompa 10 detik" Text9.Text = "sensor on"
L- 7 ElseIf Text12.Text = "b" Then Text8.Text = "pompa 15 detik" Text9.Text = "sensor on" ElseIf Text12.Text = "c" Then Text8.Text = "pompa 20 detik" Text9.Text = "sensor on" ElseIf Text12.Text = "d" Then Text8.Text = "pompa mati" Text9.Text = "sensor off" ElseIf Text12.Text = "e" Then Text8.Text = "pompa siap" Text9.Text = "sensor off" ElseIf Text12.Text = "f" Then Text8.Text = "pompa belum siap" Text9.Text = "sensor off" End If End If Text12.Text = Text12.Text Text8.Text = Text8.Text Text9.Text = Text9.Text kirim_kendali End Select End Sub Private Sub kirim_kendali() With DataEnvironment1.rsCommand1 Text6.Text = !TextDecoded End With If Text6.Text = "Nyala1" Then kirim_kendali1 ElseIf Text6.Text = "Nyala2" Then kirim_kendali1 ElseIf Text6.Text = "Nyala3" Then kirim_kendali1 ElseIf Text6.Text = "Pantau" Then kirim_pantau End If delete DataEnvironment1.rsCommand1.Close Timer1.Enabled = True End Sub Private Sub delete() Dim b As String Dim Hapus As String With DataEnvironment1.rsCommand1 b = !ID End With Hapus = "DELETE FROM inbox WHERE ID ='" & b & "'" DataEnvironment1.Connection1.Execute Hapus, adCmdText End Sub
L- 8 Private Sub kirim_kesalahan_nomor() Dim kirim As String kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) Text5.Text & "','nomor tidak dikenal ')" DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub Private Sub kirim_kesalahan_format() Dim kirim As String kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) Text5.Text & "','Format sms tidak dikenal ')" DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub Private Sub kirim_kendali1() Dim kirim As String kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) Text5.Text & "','" & Text8.Text & " " & Text9.Text & "')" DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub Private Sub kirim_pantau() Dim kirim As String kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) Text5.Text & "','" & Text8.Text & " " & Text9.Text & "')" DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub Private Sub record() On Error Resume Next Dim No As Integer Dim Date_and_Time As String DataEnvironment4.rsCommand1.Open No = DataEnvironment4.rsCommand1.RecordCount No = No + 1 Date_and_Time = CStr(Now) DataEnvironment4.rsCommand1.AddNew DataEnvironment4.rsCommand1.Fields("No") = No DataEnvironment4.rsCommand1.Fields("tanggal") = Date_and_Time DataEnvironment4.rsCommand1.Fields("user") = Text5.Text DataEnvironment4.rsCommand1.Fields("format") = Text6.Text DataEnvironment4.rsCommand1.Update End Sub Private Sub reset_teks() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Text9.Text = ""
VALUES" + "('" &
VALUES" + "('" &
VALUES" + "('" &
VALUES" + "('" &
L- 9 Text12.Text = "" End Sub
Form3( Form User) Private Sub Form_Load() Label2.Caption = "Jam/Tanggal :" Text1.Text = Format(Now, "hh:mm:ss") Text2.Text = Format(Now, "DDDD, d MM yyyy") End Sub Private Sub Timer1_Timer() Text1.Text = Format(Now, "hh:mm:ss") End Sub Private Sub Timer2_Timer() Text2.Text = Format(Now, "DDDD, d MM yyyy") End Sub Private Sub RecAwal_Click() DataEnvironment2.rsCommand1.MoveFirst End Sub Private Sub RecSebelum_Click() With DataEnvironment2.rsCommand1 .MovePrevious If .BOF Then .MoveFirst MsgBox "Awal Record, Data User.", vbOKOnly, "informasi" End If End With End Sub Private Sub RecSesudah_Click() With DataEnvironment2.rsCommand1 .MoveNext If .EOF Then .MoveLast MsgBox "Akhir Record, Data User.", vbOKOnly, "informasi" End If End With End Sub Private Sub RecAkhir_Click() DataEnvironment2.rsCommand1.MoveLast End Sub Private Sub Tambah_Click() On Error GoTo HandleError 'error untuk penanganan kesalahan If Tambah.Caption = "Tambah" Then DataEnvironment2.rsCommand1.AddNew 'kosongkan field untuk record data baru nonaktifkontrol 'tombol-tombol pengerak record dimatikan Tambah.Caption = "Batal" 'mengganti tulisan tambah menjadi batal
L- 10 Simpan.Enabled = True 'aktifkan tombol simpan txtuser.Locked = False 'buka text user Else DataEnvironment2.rsCommand1.CancelUpdate 'batalkan proses penambahan data txtuser.Locked = True 'kunci text user aktiftombol 'semua tombol penggerak record diaktifkan Tambah.Caption = "Tambah" 'ubah tulisan batal menjadi tambah Simpan.Enabled = False 'disable command simpan DataEnvironment2.rsCommand1.MoveLast 'pindah ke record akhir End If Tambah_Click_Exit: Exit Sub HandleError: 'penyaringan kesalahan MsgBox "Proses Tidak bisa dikerjakan", vbInformation, "Perhatian" On Error GoTo 0 'matikan fungsi penyaringan kesalahan /error End Sub Private Sub Simpan_Click() On Error GoTo HandleError 'error untuk penanganan kesalahan DataEnvironment2.rsCommand1.Update 'simpan record txtuser.Locked = True 'kunci text user aktiftombol 'semua tombol penggerak record diaktifkan Simpan.Enabled = False 'tombol simpan dinonaktifkan Tambah.Caption = "Tambah" 'ubah kembali tulisan menjadi tambah dari batal Simpan_Click_Exit: Exit Sub HandleError: 'penyaringan kesalahan Dim strMessage As String Dim errDBError As ADODB.Error For Each errDBError In DataEnvironment1.Connection1.Errors strMessage = strMessage & errDBError.Description & vbCrLf Next MsgBox strMessage, vbExclamation, "Data Kembar" On Error GoTo 0 'matikan fungsi penyaringan kesalahan/error End Sub Private Sub Hapus_Click() On Error GoTo HandleError 'error untuk penanganan kesalahan With DataEnvironment2.rsCommand1 .delete 'menghapus record yang aktif .MoveNext 'pindah ke record selanjutnya If .EOF Then 'jika data terakhir yang dihapus .MovePrevious 'maju 1 record ke arah record pertama If .BOF Then 'jika nilai BOF dan EOF benar,recordest kosong MsgBox "Data Kosong", vbInformation, "Perhatian" 'tampilkan nonaktifkontrol 'tombol-tombol penggerak record dinonaktifkan End If End If End With Hapus_Click_Exit:
L- 11 Exit Sub HandleError: MsgBox "Data Tidak Dapat diProses", vbInformation, "Perhatian" On Error GoTo 0 'matikan fungsi penyaringan End Sub Private Sub Keluar_Click() Form1.Show Form3.Hide End Sub Private Sub nonaktifkontrol() RecAwal.Enabled = False RecSebelum.Enabled = False RecSesudah.Enabled = False RecAkhir.Enabled = False Hapus.Enabled = False End Sub Private Sub aktiftombol() RecAwal.Enabled = True RecSebelum.Enabled = True RecSesudah.Enabled = True RecAkhir.Enabled = True Hapus.Enabled = True End Sub
Form4 (Form Record) Private Sub Form_Load() Label2.Caption = "Jam/Tanggal :" Text1.Text = Format(Now, "hh:mm:ss") Text2.Text = Format(Now, "DDDD, d MM yyyy") End Sub Private Sub Timer1_Timer() Text1.Text = Format(Now, "hh:mm:ss") End Sub Private Sub Timer2_Timer() Text2.Text = Format(Now, "DDDD, d MM yyyy") End Sub Private Sub RecAwal_Click() DataEnvironment3.rsCommand1.MoveFirst End Sub Private Sub RecSebelum_Click() With DataEnvironment3.rsCommand1 .MovePrevious If .BOF Then .MoveFirst
L- 12 MsgBox "Awal Record, Data Format.", vbOKOnly, "informasi" End If End With End Sub Private Sub RecSesudah_Click() With DataEnvironment3.rsCommand1 .MoveNext If .EOF Then .MoveLast MsgBox "Akhir Record, Data Format.", vbOKOnly, "informasi" End If End With End Sub Private Sub RecAkhir_Click() DataEnvironment3.rsCommand1.MoveLast End Sub Private Sub Tambah_Click() On Error GoTo HandleError 'error untuk penanganan kesalahan If Tambah.Caption = "Tambah" Then DataEnvironment3.rsCommand1.AddNew 'kosongkan field untuk record data baru nonaktifkontrol 'tombol-tombol pengerak record dimatikan Tambah.Caption = "Batal" 'mengganti tulisan tambah menjadi batal Simpan.Enabled = True 'aktifkan tombol simpan txtformat.Locked = False 'buka text user Else DataEnvironment3.rsCommand1.CancelUpdate 'batalkan proses penambahan data txtformat.Locked = True 'kunci text user aktiftombol 'semua tombol penggerak record diaktifkan Tambah.Caption = "Tambah" 'ubah tulisan batal menjadi tambah Simpan.Enabled = False 'disable command simpan DataEnvironment3.rsCommand1.MoveLast 'pindah ke record akhir End If Tambah_Click_Exit: Exit Sub HandleError: 'penyaringan kesalahan MsgBox "Proses Tidak bisa dikerjakan", vbInformation, "Perhatian" On Error GoTo 0 'matikan fungsi penyaringan kesalahan /error End Sub Private Sub Simpan_Click() On Error GoTo HandleError 'error untuk penanganan kesalahan DataEnvironment3.rsCommand1.Update 'simpan record txtformat.Locked = True 'kunci text user aktiftombol 'semua tombol penggerak record diaktifkan Simpan.Enabled = False 'tombol simpan dinonaktifkan Tambah.Caption = "Tambah" 'ubah kembali tulisan menjadi tambah dari batal Simpan_Click_Exit: Exit Sub
L- 13 HandleError: 'penyaringan kesalahan Dim strMessage As String Dim errDBError As ADODB.Error For Each errDBError In DataEnvironment1.Connection1.Errors strMessage = strMessage & errDBError.Description & vbCrLf Next MsgBox strMessage, vbExclamation, "Data Kembar" On Error GoTo 0 'matikan fungsi penyaringan kesalahan/error End Sub Private Sub Hapus_Click() On Error GoTo HandleError 'error untuk penanganan kesalahan With DataEnvironment3.rsCommand1 .delete 'menghapus record yang aktif .MoveNext 'pindah ke record selanjutnya If .EOF Then 'jika data terakhir yang dihapus .MovePrevious 'maju 1 record ke arah record pertama If .BOF Then 'jika nilai BOF dan EOF benar,recordest kosong MsgBox "Data Kosong", vbInformation, "Perhatian" 'tampilkan nonaktifkontrol 'tombol-tombol penggerak record dinonaktifkan End If End If End With Hapus_Click_Exit: Exit Sub HandleError: MsgBox "Data Tidak Dapat diProses", vbInformation, "Perhatian" On Error GoTo 0 'matikan fungsi penyaringan End Sub Private Sub Keluar_Click() Form1.Show Form4.Hide End Sub Private Sub nonaktifkontrol() RecAwal.Enabled = False RecSebelum.Enabled = False RecSesudah.Enabled = False RecAkhir.Enabled = False Hapus.Enabled = False End Sub Private Sub aktiftombol() RecAwal.Enabled = True RecSebelum.Enabled = True RecSesudah.Enabled = True RecAkhir.Enabled = True Hapus.Enabled = True End Sub
L- 14 -
Form5 (Form Record) Private Sub Form_Load() Load Me MSFlexGrid1.TextMatrix(0, 0) = "No" MSFlexGrid1.TextMatrix(0, 1) = "Date And Time" MSFlexGrid1.TextMatrix(0, 2) = "User" MSFlexGrid1.TextMatrix(0, 3) = "Format" MSFlexGrid1.ColWidth(0) = 400 MSFlexGrid1.ColWidth(1) = 2000 MSFlexGrid1.ColWidth(2) = 1400 MSFlexGrid1.ColWidth(3) = 1000 For i = 0 To 3 MSFlexGrid1.Row = 0 MSFlexGrid1.Col = i MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColAlignment(i) = 3 Next i Data End Sub Private Sub Data() On Error Resume Next Dim number As Integer DataEnvironment4.rsCommand1.Open Do While Not DataEnvironment4.rsCommand1.EOF T=T+1 MSFlexGrid1.TextMatrix(T, 0) = DataEnvironment4.rsCommand1.Fields("No") MSFlexGrid1.TextMatrix(T, 1) = DataEnvironment4.rsCommand1.Fields("tanggal") MSFlexGrid1.TextMatrix(T, 2) = DataEnvironment4.rsCommand1.Fields("User") MSFlexGrid1.TextMatrix(T, 3) = DataEnvironment4.rsCommand1.Fields("Format") If Not DataEnvironment4.rsCommand1.EOF Then DataEnvironment4.rsCommand1.MoveNext Loop End Sub Private Sub Command1_Click() Dim Hapus As String Hapus = "DELETE * FROM record" DataEnvironment4.Connection1.Execute Hapus, adCmdText Me.MSFlexGrid1.Clear End Sub Private Sub Command2_Click() Form5.Hide Form1.Show End Sub
L- 15 -
Form6 (Form About) Private Sub cmdOK_Click() Form1.Show frmAbout.Hide End Sub Private Sub Form_Load() Skin1.ApplySkin hWnd SkinLabel1.Caption = "INTERFACE PENGENDALI DAN PEMANTAU PENYIRAM TAMAN PADA SISTEM OTOMASI RUMAH MENGGUNAKAN LAYANAN SMS" SkinLabel2.Caption = "(c)Copyright 2010..Universitas Sanata Dharma" SkinLabel3.Caption = ":: Gil@ng Profile ::" SkinLabel4.Caption = "Nama : Yustinus Atmadya Gilang Pramana " SkinLabel5.Caption = " TTL : Jakarta /03-08-1988 " SkinLabel6.Caption = "NIM : 065114034" SkinLabel7.Caption = "Motto : 1. Belajar untuk menjadi lebih baik dari kemarin & 2.nasi goreng &" SkinLabel8.Caption = "Pengendali dan pemantau penyiram taman pada sistem otomasi rumah menggunakan layanan sms adalah program untuk mengendalikan secara otomatis melalui jaringan gsm dengan memanfaatkan fitur sms. Untuk menunjang program ini dibutuhkan beberapa apilkasi seperti gammu, XAMPP, VB6, mikrokontroler AtMega 8535" End Sub
L- 16 Listing Program Mikrokontroler // Project TA // Yustinus Atmadya Gilang Pramana (065114034)
#include <mega8535.h> // menggunkana mikrokontroler ATMega 8535 #include <delay.h> // menggunkan fungsi delay #include <stdio.h> // menngunakan fungsi stdio #define Sensor PINA.0
// mendefinisikan sensor di PINA.0
unsigned char data_terima=0x00; const long int osilator=11059200; // menggunkan kristal 11.0592 MHz unsigned long int UBRR; void inisialisasi_UART(unsigned long int baud_rate); unsigned char TerimaByte(void); void KirimByte (unsigned char data); // void main(void) { PORTA=0x00; DDRA=0x00; // Port A sebagai input DDRC=0xFF; PORTC=0x00; // Port C sebagai output inisialisasi_UART(9600); // inisialisai baudrate 9600 bps while(1) { data_terima=TerimaByte(); if (data_terima=='1') // jika data yang diterima =1 { PORTC.0=1; // PortC.0 logika high delay_ms(5000); // tunda 5000 ms if (Sensor==1) // jika sensor=1 { delay_ms(2000); // tunda 2000 ms putchar('a'); // kirim karakter a delay_ms(3000); // tunda 3000 ms PORTC.0=0; } else // selain itu { putchar('d'); // kirim karakter d PORTC.0=0; // PortC.0 logika low }
L- 17 } else if (data_terima=='2') //jika data yang diterima =2 { PORTC.0=1; // PortC.0 logika high delay_ms(5000); // tunda 5000 ms if (Sensor==1) { delay_ms(6000); putchar('b'); // kirim karakter b delay_ms(4000); PORTC.0=0; } else { putchar('d'); // kirim karakter d PORTC.0=0; // Portc.0 logika low } } else if (data_terima=='3') // jika data yang diterima =3 { PORTC.0=1; // PortC.0 logika high delay_ms(5000); // tunda 5000 ms if (Sensor==1) { delay_ms(8000); putchar('c'); // kirim karakter c delay_ms(7000); PORTC.0=0; } else { putchar('d'); // kirim karakter d PORTC.0=0; // PortC.0 logika low } } else if (data_terima=='4') // jika data yang diterima=4 { delay_ms(500); // tunda 500 ms if (PORTC.0 ==0 ) { putchar('e'); // kirim karakter e } else { putchar('f'); // kirim karakter f } }
L- 18 delay_ms(500); PORTC.0=0; PINA.0=0; }; } void inisialisasi_UART(unsigned long int baud_rate) { UBRR=(osilator/(16*baud_rate))-1; UBRRL=UBRR; UBRRH=UBRR>>8; UCSRB=0x18; UCSRC=0x86; } unsigned char TerimaByte(void) { while(!(UCSRA&0x80)); // tunggu data yang datang return UDR; // terima data } void KirimByte (unsigned char data) { while(!(UCSRA&0x20)); // tunggu data sebelumnya selesai dikirim UDR=data; // kirimkan data sekarang }