PERANGKAT PENGENDALI DAN PEMANTAU KETINGGIAN AIR …

97
i TUGAS AKHIR PERANGKAT PENGENDALI DAN PEMANTAU KETINGGIAN AIR KOLAM PADA SISTEM OTOMASI RUMAH MENGGUNAKAN LAYANAN SMS Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro Oleh: Nama : C. Bayu Aji Marindarto NIM : 055114026 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2010

Transcript of PERANGKAT PENGENDALI DAN PEMANTAU KETINGGIAN AIR …

C. BAYU AJI MARINDARTO (055114026)LAYANAN SMS Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh:
NIM : 055114026
FINAL PROJECT
CONTROLING AND MONITORING DEVICE FOR POOL WATER LEVEL IN THE OTOMATION HOUSE SYSTEM USING SMS
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
C. Bayu Aji Marindarto NIM : 055114026
ELECTRICAL ENGINEERING STUDY PROGRAM
SCIENCE AND TECHNOLOGY FACULTY
HALAMAN 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, 4 April 2011
C. Bayu Aji Marindarto
Tuhan Yesus Kristus, Bapak dan Ibu Tercinta,
   
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : C. Bayu Aji Marindarto
Nomor Mahasiswa : 055114026
PERANGKAT PENGENDALI DAN PEMANTAU KETINGGIAN AIR KOLAM
PADA SISTEM OTOMASI RUMAH MENGGUNAKAN LAYANAN SMS
beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada
Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, me-ngalihkan 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.
   
 
INTISARI Aktifitas manusia semakin hari semakin padat dan kompleks. Kondisi ini
mengakibatkan efisiensi waktu berkembang menjadi suatu kebutuhan penting. Untuk memenuhi kebutuhan tersebut, salah satu solusi yang logis adalah dengan menciptakan suatu sistem kendali otomatis yang dapat membuat pekerjaan manusia menjadi semakin mudah dan efisien. Perancangan pengendalian dan pemantauan ketinggian air kolam memberikan solusi kendali jarak jauh agar penghuni rumah dapat merasa nyaman.
Perangkat pengendali dan pemantau ketinggian air kolam dilakukan untuk mempermudah pengguna dalam proses pengendalian dan pemantauan pada sistem otomasi rumah menggunakan layanan Short Message Service (SMS) pada jaringan Global System for Mobile Communications (GSM). SMS digunakan sebagai media pengiriman pesan yang berisi format untuk mengendalikan dan memantau ketinggian air kolam. Sistem minimum berfungsi untuk melakukan proses pengendalian dan pemantauan saat ada SMS masuk.
Sistem pengendali dan pemantau ketinggian air kolam memanfaatkan layanan SMS sudah berhasil dibuat dan dapat bekerja dengan baik. SMS yang masuk diolah dengan baik oleh minimum system, sehingga tingkat keakurasian perintah yang dikirimkan dengan keadaan yang terjadi pada kolam sudah sesuai dengan yang diinginkan.
   
ABSTRACT
Human activities is increasingly dense and complex. These conditions resulted in efficiencies of time developed into a necessity. To meet these needs, one logical solution is to create an automatic control system that can create human tasks become increasingly easy and efficient. The design of pond water level controller and monitoring give the solution of remote controlling system for the resident to feel comfort.
The pond water level controller and monitoring device is use to facilitate users in control and monitoring process in the home automation system using the Short Message Service (SMS) on the network of Global System for Mobile Communications (GSM). SMS is used as a medium for sending a message containing the format to control and monitor the water level of the pond. Minimum system use to perform the process of control and monitoring when there is incoming SMS.
The pond water level controller and monitoring system utilizing SMS service has been created and worked well. SMS messages processed properly by the minimum system, so the sent commands accuracy level to the circumstances that occurred in the pond was as expected.
Keywords: water pond, control, monitoring, home automation, SMS, GSM
   
KATA PENGANTAR
Syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala rahmat dan karunia-Nya
sehingga tugas akhir dengan judul “Perangkat Pengendali dan Pemantau Ketinggian Air
Kolam pada Sistem Otomasi Rumah Menggunakan Layanan Sms” ini dapat diselesaikan
dengan baik.
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 Ageng Cahyanta, selaku Dekan Fakultas Sains dan Teknologi
Universitas Sanata Dharma Yogyakarta.
2. Bapak Damar Wijaya, S.T., M.T., selaku dosen pembimbing yang telah dengan
sabar membimbing, memberi semangat dan saran yang membantu penulis dalam
menyelesaikan tulisan ini.
3. Seluruh dosen teknik elektro dan laboran yang telah banyak memberikan
pengetahuan kepada penulis selama kuliah.
4. Kedua Orang Tua yang tercinta atas doa, kesabaran dan dukungan baik secara moril
ataupun materil.
Marindaro atas dukungannya selama mengerjakan tugas akhir ini.
6. Teman-teman elektro 2005 terima kasih atas dukungan, suka duka, perhatian, dan
kebersamaan kita selama ini.
7. Kurniawan H.M. ST,. yang telah dengan sabar mengajari banyak hal tentang
mikrokontroler.
8. Berbagai pihak yang tidak bisa penulis sebutkan satu-persatu atas bantuan,
dukungan, bimbingan, kritik dan saran.
   
 
Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari
sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat
diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua pihak. Terima
kasih.
ILMIAH UNTUK KEPENTINGAN AKADEMIS................................................... vii
1.3. Batasan Masalah…………………………………………………………............... 2
1.4. Metodologi Penelitian…………………………………………………………….. 2
2.1. Jaringan GSM…………………………………………………………………….. 5
2.3. PDU Sebagai Bahasa SMS……………………………………………….……… 11
2.4. Komunikasi Serial RS232……………………………………………………….. 13
2.5. Port Serial PC (Personal Computer)…………………………………………….. 15
2.6. AT Command………………………………………………………………......... 16
2.7. Mikrokontroler AVR…………………………………………………………….. 17
2.8. Telepon Seluler Siemens C35……………………………………………….......... 18
   
2.10.1. Keuntungan LCD………………………………………………………… 24
3.1. Gambaran Sistem……………………………………………………………......... 27
3.2.2.4. Perancangan Piranti Lunak Komputer................................................... 34
4.1 Gambar Fisik Hardware……………………………………………………............ 36
4.3 Pengujian SMS Perintah…………………………………………….……............. 37
4.3 Pengujian ketinggian air……………………………………………………..……. 41
4.4 Pengujian pengiriman data ke komputer………………………………………….. 45
4.5 PEMBAHASAN PERANGKAT LUNAK (SOFTWARE)………………..……… 46
4.5.1 Pembahasan Program pada Komputer……………………………………… 46
4.5.2 Pembahasan Program pada Mikrokontroler…………………………………50
BAB V KESIMPULAN DAN SARAN……………………………………………... 56
5.1 Kesimpulan……………………………………………………………………….. 56
5.2 Saran………………………………………………………………………………. 56
   
Gambar 2.2. Integrasi jaringan GSM dan jaringan lain……………………………. 10
Gambar 2.3. Pengiriman data serial [4]……………………………………………...13
Gambar 2.4. Rangkaian koneksi RS232 dengan mikrokontroler [5]………………. 15
Gambar 2.5. Konfigurasi pin konektor DB9 [6]……………………………………. 15
Gambar 2.6. Konfigurasi pin ATMega8535 [8]……………………………………. 18
Gambar 2.7. Pin eksternal Siemens C35 tampak bawah [7]....................................... 19
Gambar 2.8. Ping Ultrasonic Range Finder [9]…………………………………….20
Gambar 2.9. Diagram Cara Kerja Sensor Ultrasonik……………………………… 21
Gambar 2.10. Contoh Diagram Alir Penggunaan Sensor Ultrasonik………………. 22
Gambar 2.10. (lanjutan) Contoh Diagram Alir Penggunaan Sensor Ultrasonik …… 22
Gambar 2.12. Modul dari Liquid Crystal Display [10]……………………………. 23
Gambar 3.1. Diagram blok sistem………………………………………………….. 27
Gambar 3.2. Rangkaian Mikrokontroler ATMEGA8535[8]...................................... 29
Gambar 3.3. Rangkaian LCD [10].............................................................................. 29
Gambar 3.4. Rangkaian Komunikasi serial RS232 [4]……………………………... 30
Gambar 3.5. Rangkaian Keseluruhan………………………………………………. 30
Gambar 3.6. Diagram Alir Piranti Lunak Pengirim Data Mikrokontroler................. 31
Gambar 3.7. Diagram Alir Pengecekan SMS………………………………………. 32
Gambar 3.8. Diagram Alir Pengiriman Data Setting…………………………………… 33
Gambar 3.9. Diagram alir Piranti Lunak Antarmuka Mikrokontroler........................ 34
Gambar 3.10. Diagram alir Piranti Lunak Komputer................................................. 34
Gambar 3.11. Tampilan Program di Komputer…………………………………….. 35
Gambar 4.1 Rangkaian keseluruhan………………………………………………... 36
Gambar 4.2 (a) Rangkaian pompa………………………………………………….. 36
Gambar 4.2 (b) Sensor Ultrasonik………………………………………………….. 36
Gambar 4.2 (c) LCD………………………………………………………………... 36
Gambar 4.2 (d) Handphone………………………………………………………… 37
Gambar 4.2 (e) Rangkaian elektronis……………………………………………… 37
Gambar 4.3 Pengujian SMS periodik………………………………………………. 40
   
Gambar 4.4 (lanjutan) Grafik waktu terhadap ketinggian air………………………. 43
Gambar 4.4 (lanjutan) Grafik waktu terhadap ketinggian air………………………. 44
Gambar 4.5 Hasil pengujian hyperterminal…………....…………………………… 45
Gambar 4.6 Tampilan pengujian program di komputer…………………………….. 46
Gambar 4.7 Tampilan program keseluruhan………………………………………. 46
Gambar 4.8 Tampilan program setelah dipilah…………………………………….. 47
Gambar 4.9 Tampilan program TxtLog……………………………………………. 48
Gambar 4.10 Kesalahan koneksi port………………………………………………. 49
   
 
Daftar Tabel Tabel 2.1. Perbandingan sistem konvensional dan selular [1]………………………… 5
Tabel 2.2. Teknologi Seluler Analog [1]………………………………………………. 6
Tabel 2.3. Teknologi Seluler Digital [1]……………………………………………… 6
Tabel 2.3. ( Lanjutan ) Teknologi Seluler Digital [1]…………………………………..7
Tabel 2.3. ( Lanjutan ) Teknologi Seluler Digital [1]…………………………………..8
Tabel 2.4. Protocol Data Unit (PDU) [3]……………………………………………. 12
Tabel 2.5. Keterangan pin konektor DB9 (PC serial port) [6]………………………. 15
Tabel 2.5. (lanjutan)Keterangan pin konektor DB9 (PC serial port) [6]…………….. 16
Tabel 2.6. Perintah AT Command [7]………………………………………………… 16
Tabel 2.6. (lanjutan) Perintah AT Command [7]………………………………...…… 17
Tabel 2.7. Data awal perancangan rumus……………………………………………..21
Tabel 2.8. Keterangan modul LCD [10]………………………………………………24
Tabel 4.1 Format SMS yang dikirim dan yang diterima…………………………….. 37
Tabel 4.1 (lanjutan) Format SMS yang dikirim dan yang diterima…………………. 38
Tabel 4.1 (lanjutan) Format SMS yang dikirim dan yang diterima………………….. 39
Tabel 4.2. Pengujian dengan nomor asing…………………………………………… 39
Tabel 4.3 Pengujian SMS periodik……………………………………………………40
Tabel 4.4 Data awal perancangan rumus……………………………………………...41
Tabel 4.5 Pompa memasukkan air aktif (ketinggian air bertambah)………………….42
   
telekomunikasi yang berkembang baik jaringannya maupun alat komunikasi yang
digunakan. Peralatan komunikasi yang semakin canggih ini memungkinkan seseorang
dapat melakukan komunikasi maupun berkirim data dengan orang lain di manapun mereka
berada. Salah satu teknologi untuk berkomunikasi adalah telepon seluler (ponsel).
Telepon seluler tidak terlepas dari penyedia layanan operator seluler. Operator
seluler di Indonesia melayani 2 jenis teknologi, yaitu Global System for Mobile
Communication (GSM) dan Code Division Multiple Access (CDMA) [1]. Dengan
banyaknya operator baik GSM maupun CDMA, Indonesia memiliki operator seluler
terbanyak di dunia.
Ada jenis layanan komunikasi yang populer yaitu komunikasi suara dan tulisan.
Komunikasi melalui tulisan ini dikenal oleh masyarakat dengan sebutan Short Message
Service (SMS). SMS adalah salah satu layanan dari teknologi GSM yang memungkinkan
pengguna mengirim maupun menerima pesan-pesan singkat berupa teks dengan kapasitas
160 karakter dari Mobile Station (MS) atau ponsel.
Saat ini sudah tersedia suatu alat yang dapat digunakan untuk mengendalikan
peralatan elektronik dengan sebuah komputer sebagai pusat kendali [2]. Dengan adanya
pusat kendali ini, pengguna dapat lebih leluasa mengendalikan peralatan elektronik yang
ada di rumah, kantor, pertokoan, dan lain-lain.
Dengan menggabungkan antara teknologi komunikasi dengan jaringan GSM dan
pengendalian terpusat, penulis akan membuat pengendali ketinggian air kolam ikan secara
jarak jauh pada sistem otomasi rumah dengan memanfaatkan layanan SMS. Sistem ini
akan menginformasikan apakah ketinggian air sudah sesuai dengan keinginan pengguna
atau belum. Pengguna dapat mengendalikan ketinggian air ataupun hanya mengecek
ketinggian air melalui SMS di manapun pengguna itu berada. Sistem ini sangat cocok
untuk pengguna yang memiliki mobilitas yang tinggi sehingga tidak sempat mengatur
rumah.
2   

1.2. Tujuan dan Manfaat Skripsi ini bertujuan untuk membuat perangkat pengendalian dan pemantau
ketinggian kolam ikan menggunakan layanan SMS.
Manfaat yang diharapkan dari penulisan skripsi ini adalah :
1. Meningkatkan kenyamanan pengguna rumah dalam pengaturan ketinggian
kolam ikan.
3. Menjadi acuan, referensi, rujukan dan bahan pertimbangan untuk meningkatkan
kenyamanan rumah dan pengendalian peralatan elektronika yang berada di
rumah disaat pemilik rumah sedang bepergian.
1.3. Batasan Masalah Penelitian akan dibatasi dengan :
1. pengambilan data ponsel menggunakan AT command.
2. Menggunakan mikrokontroler keluarga AVR ATMega 8535.
3. Pengukuran menggunakan sensor ultrasonik.
4. Komunikasi data dari ponsel ke komputer menggunakan kabel serial.
5. Memanfaatkan jaringan dengan teknologi GSM.
6. Pemasokan air menggunakan pompa air.
7. Ukuran kolam 30cm x 30cm x 30cm.
1.4. Metodologi Penelitian Penulisan skripsi ini menggunakan metode :
1. Studi kepustakaan yaitu studi untuk mendapatkan pengetahuan dan dasar teori
yang berhubungan dengan masalah yang akan diteliti dalam tugas akhir.
2. Perancangan subsistem hardware dan software.
Tahap ini bertujuan untuk memberi gambaran secara luas model alat yang akan
dibuat dan memperhitungkan faktor-faktor yang dibutuhkan dalam pembuatan
model alat. Gambar 1.1 memperlihatkan bagan model alat pengukur ketinggian
air kolam.
3. Pembuatan sistem hardware dan software.
Berdasarkan Gambar 1.1, rangkaian ini akan bekerja mengukur ketinggian
kolam terus menerus melalui sensor ultrasonik. Data ketinggian akan disimpan
di database dalam komputer melalui interface mikrokontroler. Bila pemilik
ingin mengetahui dan mengatur ketinggian kolam maka pemilik memberikan
interupsi ke Personal Computer (PC) melalui media ponsel. PC akan merespon
interupsi tersebut lalu segera mengirimkan informasi ketinggian terakhir kolam
dan keadaan pompa air. PC akan mengirimkan data dan akan menghidupkan
pompa air secara otomatis bila ketinggian air tidak sesuai set point.
4. Proses pengambilan data.
Teknik pengambilan data dilakukan dengan cara mengolah waktu pantul
menjadi ketinggian kolam. Waktu pantul dihasilkan dari perambatan sinyal
ultrasonik. Pengolahan waktu pantul dilakukan oleh mikrokontroler. Data yang
didapat adalah data ketinggian air dalam cm (centimeter). Data ketinggian air
tersebut akan menjadi acuan untuk mengaktifkan pompa dalam memasukkan air
ke kolam atau mengeluarkan air dari kolam. Data ketinggian tersebut disimpan
dalam database PC. Data akan dikirimkan kepada pemilik kolam apabila
diminta. Data yang dikirimkan adalah ketinggian air dan set point saat itu.
4   

Analisa data akan dibandingkan dengan ketinggian kolam yang sesungguhnya
untuk mengetahui keakuratan alat. Penyimpulan hasil percobaan dapat
dilakukan dengan menghitung presentase error yang terjadi.
   
Keberadaan teknologi kabel konvensional tidak dapat dipungkiri telah membawa
banyak perubahan dalam dunia telekomunikasi. Namun teknologi nirkabel seperti seluler
menghadirkan solusi lebih tepat di saat kebutuhan masyarakat akan komunikasi bergerak
meningkat. Perbandingan antara sistem konvensional dan seluler dapat dilihat pada Tabel
2.1.
Perbedaan Sistem Konvensional Sistem Selular
Daerah cakupan Dilayani oleh satu base station
dengan cakupan yang luas
Daerah dibagi dalam daerah
yang lebih kecil yang
layanan
menggunakan daya pancar yang
frequency reuse
frequency reuse.
Teknologi seluler yang ada saat ini telah mengalami masa-masa transisi yang cukup
lama. Tabel 2.2. dan Tabel 2.3. menunjukkan perkembangan teknologi seluler secara
umum.
6   

Sistem Keterangan
pada tahun 1970-an dan pertama kali digunakan secara komersial di
Amerika pada tahun 1983. Beroperasi pada band 800 dan 1900
MHz dan merupakan standar distribusi analog seluler.
N-AMPS Narrow-band Advanced Mobile Phone System - Dikembangkan
oleh Motorola sebagai teknologi antara analog dan digital.
Teknologi ini mempunyai kapasitas tiga kali lebih besar daripada
AMPS dan beroperasi pada range 800 MHz. Namun, saat ini sudah
tidak berfungsi lagi.
pada 450 MHz
NMT 900 Nordic Mobile Telephones / 900 - adalah versi upgrade dari NMT
450 dan dikembangkan untuk menangani kapasitas yang lebih besar
dan juga untuk untuk telepon portabel.
Tabel 2.3 . Teknologi Seluler Digital [1]
Sistem Keterangan
CDMA Code Division Multiple Access - Dikembangkan oleh Qualcomm
dengan ciri kapasitas tinggi dengan radius sel yang kecil.
Menggunakan frekuensi band yang sama dengan AMPS dan
mendukung operasi AMPS, menggunakan teknologi spread
spectrum dan menggunakan skema pengkodean khusus. Teknologi
ini diadopsi oleh Telecommunications Industry Association (TIA)
pada tahun 1993. Untuk pertama kalinya jaringan CDMA-based
yang dioperasikan
Sistem Keterangan
CDMA – 1 Spesifikasi range wireless yang luas meliputi IS-95, IS-96, IS-99,
IS-634, dan IS-41, AT&T, Motorola, Lucent, ALPS, GSIC, Prime
Co, Qualcomm, Samsung, Sony, US West, Sprint, Bell Atlantic,
Time Warner adalah sponsornya.
seluler yang telah ada dan menyediakan data transfer yang lebih
cepat.
CT-2 Generasi kedua dari standar telepon cordless (tanpa kabel). CT2
mempunyai 40 carriers x 1 duplex bearer per carrier = 40 channel
suara.
pelopornya yaitu DECT.
yaitu 30kHz dan band frekuensi pada (824-849 M) (869-894MHz)
seprti pada AMPS.dengan menggunkan TDMA dan frekuensi
FDMA, IS-136 akan meningkatkan jumlah pengguna dari 1-3 per
channel. Infrastruktur dari AMPS/D-AMPS dapat mendukung
telepon analog AMPS atau DAMPS. Dioperasikan pada band 800
MHz dan 1800MHz
GSM Amerika
E-Netz Nama Jerman untuk jaringan GSM 1800
8   

Sistem Keterangan
di Eropa, pengembangan ini digunakan utnuk memberikan jaminan
kompatibilitas seluler di seluruh Eropa. Kesuksesan ini ternyata
telah menyebar ke seluruh dunia sehingga lebih dari 80 jaringan
GSM telah dioperasikan. Teknologi ini dioperasikan pada 900 dan
1800 MHz pada seluruh bagian Eropa dan Inggris. Di beberapa
bagian Amerika menggunakan frekuensi 1900 Mhz
PCS Personal Communications Service. Frequency band PCS di
Amerika adalah 1850 hingga 1990 MHz, meliputi juga range yang
luas pada standar seluler dgital seperti N-CDMA dan GSM -1900.
Telepon single-band GSM 900 tidak dapat dgunakan pada jaringan
PCS. Jaringan PCS dioperasikan di seluruh USA.
PDC Personal Digital adalah standar TDMA-based di negara Jepang
pada band 800 dan 1500 MHz.
TDMA Time Division Multiple Access. Adalah standar digital yang
dikembangkan pertama kali di US. Sistem komersial TDMA diawali
pada tahun 1993. disebut juga IS-54 pada awalnya dan dikenal
sebagai IS-136
global next generation yang akan diterapkan pada tahun 2010.
2.1.2. Arsitektur Jaringan GSM 
Jaringan GSM 900 dan GSM/DCS 1800 adalah jaringan GSM yang tidak jauh
berbeda yaitu disusun dari beberapa kesatuan fungsi yang mempunyai fungsi dan
antarmuka tertentu. Gambar 2.1 memperlihatkan arsitektur suatu jaringan GSM. Jaringan
GSM dapat dibagi ke dalam tiga bagian utama yaitu : Mobile Station (MS), Base Station
Subsystem (BSS), dan Network Subsystem (NSS). MS dibawa oleh pelanggan yang
bergerak. BSS mengendalikan jalur radio dengan MS. Sedangkan NSS melakukan
9   

switching panggilan antar pelanggan bergerak, dan antara pelanggan bergerak dengan
pelanggan tidak bergerak. MS dan BSS berkomunikasi melalui antarmuka Um yang juga
dikenal sebagai antarmuka udara. BSS berkomunikasi dengan NSS melalui antarmuka. [1]
Gambar 2.1.Arsitektur Jaringan GSM [1]
Masing-masing bagian utama jaringan GSM tersusun dari bagian-bagian lain yang
terpadu untuk mendukung fungsi utamanya. Sedangkan jaringan lain yang dapat
berintegrasi dengan jaringan GSM yaitu jaringan selular lain Public Line Mobile Network
(PLMN), telepon rumah Public Switched Telephone Network (PSTN), Integrated Services
Digital Network (ISDN), dan jaringan yang berbasis internet seperti terlihat pada Gambar
2.2. Public Line Mobile Network (PLMN) adalah jaringan yang dibuat dan dioperasikan
oleh pemerintah atau oleh badan operasi yang diakui untuk tujuan khusus untuk
menyediakan layanan telekomunikasi selular kepada masyarakat. PLMN memiliki luas
cakupan yang besar, memiliki kemampuan bergerak dan memiliki kapasitas yang besar
sebagai contoh adalah jaringan NMT, GSM, UMTS.
PSTN adalah jaringan telpon tetap (dengan kabel). PSTN secara umum diatur oleh
standar-standar teknis yang dibuat oleh ITU-T, dan menggunakan pengalamatan
E.163/E.164 (secara umum dikenal dengan nomor telepon).
ISDN adalah suatu sistem telekomunikasi di mana layanan antara data, suara, dan
gambar diintegrasikan ke dalam suatu jaringan, yang menyediakan konektivitas digital
ujung ke ujung untuk menunjang suatu ruang lingkup pelayanan yang luas. Para pemakai
ISDN diberikan keuntungan berupa fleksibilitas dan penghematan biaya, karena biaya
untuk sistem yang terintegrasi ini akan jauh lebih murah apabila menggunakan sistem yang
terpisah. [1] Para pemakai juga memiliki akses standar melalui satu set interface pemakai
NSS = Network & Switching Subsystem. BSS = Base Station Subsystem. OSS = Operating Subsystem. MS = Mobile Station.
10   
10 
jaringan multiguna standar. ISDN merupakan sebuah bentuk evolusi telepon local loop
yang memepertimbangkan jaringan telepon sebagai jaringan terbesar di dunia
telekomunikasi. Di dalam ISDN terdapat dua jenis pelayanan, yaitu:
1. Basic Rate Inteface (BRI)
2. Primary Rate Interface (PRI)
Gambar 2.2. Integrasi jaringan GSM dan jaringan lain
2.2. SMS SMS merupakan sebuah layanan yang banyak diaplikasikan pada sistem
komunikasi tanpa kabel, memungkinkan dilakukannya pengiriman pesan dalam bentuk
alphanumeric antara terminal pelanggan atau antara terminal pelanggan dengan sistem
eksternal seperti email, paging, voice mail dan lain-lain. SMS pertama kali muncul di
belahan Eropa pada sekitar tahun 1991 bersamaan dengan sebuah teknologi komunikasi
wireless yang saat ini cukup banyak penggunanya. Teknologi digital yang digunakan
bervariasi dari yang berbasis GSM, Time Division Multiple Access (TDMA) hingga Code
Division Multiply Access (CDMA).
pertumbuhannya sangat tinggi tanpa ada penurunan tariff yang berarti bahkan dapat
dikatakan tarifnya mengambil posisi steady state. Biasanya, bahkan dalam kasus layanan
telepon bergerak, tarif akan turun seiring dengan meningkatnya pengguna. Fakta lainnya
adalah fasilitas SMS dalam telepon bergerak ternyata punya andil cukup besar dalam
menarik kaum muda masuk dalam pasar telepon bergerak.
Mekanisme utama yang dilakukan dalam sistem adalah melakukan pengiriman
pesan singkat dari satu terminal pelanggan ke terminal yang lain. Hal ini dapat dilakukan
berkat adanya sebuah entitas dalam sistem SMS yang bernama Short Message Service
11   
11 
 
Center (SMSC), disebut juga dengan Message Center (MC). SMSC merupakan sebuah
perangkat yang melakukan tugas store and forward trafic. SMS. Di dalamnya termasuk
penentuan atau pencarian rute tujuan akhir dari pesan SMS. Sebuah SMSC biasanya
didesain untuk dapat menangani SMS dari berbagai sumber seperti voice mail system
(VMS). Web-based messaging, email integration. External short message entity (ESMS)
dan lain-lain. Dalam interkoneksi dengan entitas dalam jaringan komunikasi wireless
seperti Home Location Register (HLR) dan Mobile Switching Center (MSC), SMSC
biasanya selalu menggunakan Signal Transfer Point (STP). [3]
Layanan SMS merupakan sebuah layanan yang bersifat non real time. Sebuah
pesan SMS dapat disubmit ke suatu tujuan, tidak peduli apakah tujuan tersebut aktif atau
tidak. Bila dideteksi bahwa tujuan tidak aktif, maka sistem akan menunda pengiriman ke
tujuan hingga tujuan aktif kembali. Pada dasarnya sistem SMS akan menjamin delivery
dari suatu pesan SMS hingga sampai tujuan. Kegagalan pengiriman yang bersifat
sementara seperti tujuan tidak aktif akan selalu teridentifikasi sehingga pengiriman ulang
pesan SMS akan selalu dilakukan kecuali bila diberlakukan atuan bahwa pesan SMS yang
telah melampui batas waktu tertentu harus dihapus dan dinyatakan gagal terkirim.
Karakteristik utama SMS adalah SMS merupakan sebuah sistem pengiriman data
yang bersifat out-of-band dengan bandwith kecil. Dengan karakteristik ini, pengiriman
suatu burst data yang pendek dapat dilakukan dengan efisiensi yang sangat tinggi. Pada
awalnya SMS diciptakan untuk menggantikan layanan paging dengan menyediakan
layanan serupa yang bersifat two-way messaging ditambah dengan notification service,
khususnya untuk voice mail. Pada perkembangan selanjutnya, muncul jenis-jenis layanan
lain seperti email, fax dan integration, information service dan integrasi dengan aplikasi
berbasis internet. Selain itu juga berkembang layanan data wireless seperti SIM download
for activation, profile editing dan lain-lain yang kemudian mendorong timbulnya layanan-
layanan seperti web-based messaging, gaming dan chatting.
2.3. PDU Sebagai Bahasa SMS Setiap pengiriman SMS, baik dari HP menuju operator, atau sebaliknya, selalu
menggunakan format PDU (Protocol Data Unit), yaitu paket data dimana pesan SMS
dikemas, bersama informasi tanggal, nomor tujuan, nomor pengirim, nomor operator, jenis
skema SMS, masa valid SMS, dan beberapa hal lain (tergantung jenis paketnya).
12   
12 
 
Berikut ini adalah contoh PDU yang diterima oleh HP (New SMS atau Inbox):
07 91 2658050000F0 04 0C 91 265836164900 00 00 506020 31133180 04 C830FB0D
Tabel 2.4. Protocol Data Unit (PDU) [3]
Oktet / Digit
Hexa Keterangan
Panjang atau jumlah pasangan digit dari nomor SMSC (service
number) yang digunakan, dalam hal ini adalah 7 pasangan (14 digit
berikutnya)
91
internasional (misal +6281xxx). Untuk 081xxx menggunakan
angka 81.
adalah ganjil, maka digit paling belakang dipasangkan dengan
huruf F. Kalau diterjemahkan, nomor SMSC yang digunakan
adalah +62855000000 (IM3)
0B Panjang digit dari nomor pengirim (0C hex = 12 desimal)
91 Jenis nomor pengirim (sama dengan jenis nomor SMSC)
265836164900 Nomor pengirim SMS, yang jika diterjemahkan adalah
+628563619400
00 Skema pengkodean SMS, juga bernilai 0
506020
Waktu pengiriman, yang berarti 05-06-02 (2 Juni 2005), dan jam
13:31:13. Sedangkan 80 adalah Timezone yang digunakan.
04 Panjang dari pesan SMS, dalam hal ini adalah 4 huruf (dalam
mode 7 bit).
C830FB0D Pesan SMS dalam mode 7 bit. Jika diterjemahkan kedalam 8 bit,
lalu dirubah ke ASCII, maka didapat pesan 'Halo'
13   
13 
PDU digunakan pada pengiriman SMS menggunakan PC, namun pada handphone
seri tertentu yang telah support AT+CMGF = 1 maka tidak diperlukan format PDU
karena data langsung dikirimkan dalam bentuk teks ASCII.
Koneksi antara komputer dengan handphone dapat menggunakan beberapa cara:
1. Menggunakan kabel data, dimana biasanya spesifik untuk setiap merk handphone.
Untuk handphone Nokia mempunyai kabel data sendiri, begitu juga untuk
handphone Siemens juga mempunyai sendiri. Kabel ini akan terhubung di port COM,
atau ada juga yang di USB port.
2. Menggunakan IrDA (Infrared). Nantinya akan tercipta sebuah port COM virtual.
3. Menggunakan Bluetooth, juga menciptakan port COM bayangan.
Yang perlu diperhatikan, jika menggunakan kabel data sebagai alat koneksi pada
Windows, adalah direct port-nya harus sesuai dengan handphone yang dipakai.
Berikut ini ketentuan AT+CMGL
1. AT+CMGL=0 : SMS baru
2. AT+CMGL=1 : SMS dalam Inbox (yang sudah terbaca)
3. AT+CMGL=2 : SMS Draft (belum terkirim)
4. AT+CMGL=3 : SMS Outbox (terkirim)
5. AT+CMGL=4 : Seluruh SMS (semua yang ada di Inbox, Outbox, Draft)
2.4. Komunikasi Serial RS232 Komunikasi data serial sangat berbeda dengan format pemindahan data paralel [4].
Disini, pengiriman bit-bit tidak dilakukan sekaligus melalui saluran paralel, tetapi setiap bit
dikirimkan satu persatu melalui saluran tunggal (Gambar 2.3).
Gambar 2.3. Pengiriman data serial [4]
Dalam pengiriman data secara serial harus ada sinkronisasi atau penyesuaian antara
pengirim dan penerima agar data yang dikirimkan dapat diterima dengan tepat dan benar
oleh penerima. Salah satu mode transmisi dalam komunikasi serial adalah mode
14   
14 
asynchronous. Transmisi mode serial ini digunakan apabila pengiriman data dilakukan satu
karakter tiap pengiriman. Antara satu karakter dengan yang lainnya tidak ada waktu antara
yang tetap. Karakter dapat dikirimkan sekaligus ataupun beberapa karakter kemudian
berhenti untuk waktu yang tidak tentu, kemudian dikirimkan sisanya. Dengan demikian
bit-bit data ini dikirimkan dengan periode yang acak sehingga pada sisi penerima data akan
diterima kapan saja. Adapun sinkronisasi yang terjadi pada mode transmisi ini adalah
dengan memberikan bit-bit penanda awal dari data dan penanda akhir dari data pada sisi
pengirim maupun dari sisi penerima.
Format data komunikasi serial terdiri dari parameter - parameter yang dipakai untuk
menentukan bentuk data serial yang dikomunikasikan, dimana elemen-elemennya terdiri
dari :
3. Parity yang digunakan
RS232 sebagai komunikasi serial mempunyai 9 pin yang memiliki fungsi masing-masing.
Pin yang biasa digunakan adalah pin 2 sebagai received data, pin 3 sebagai transmited
data, dan pin 5 sebagai ground signal. Karakteristik elektrik dari RS232 adalah sebagai
berikut :
1. Space (logic 0) mempunyai level tegangan sebesar +3 s/d +25Volt.
2. Mark (logic 1) mempunyai level tegangan sebesar -3 s/d -25 Volt.
3. Level tegangan antara +3 s/d -3 Volt tidak terdefinisikan.
4. Arus yang melalui rangkaian tidak boleh melebihi dari 500 mA., ini dibutuhkan
agar sistem yang dibangun bekerja dengan akurat.
Komunikasi serial RS232 digunakan sebagai antarmuka antara komputer dengan
mikrokontroler. Agar level tegangan data serial dari mikrokontroler setara dengan level
tegangan komunikasi port serial PC, diperlukan MAX232 untuk mengubah ke tegangan
TLL/CMOS logic level RS232.
Ada tiga hal pokok yang diatur standard RS232, antara lain bentuk sinyal dan level
tegangan yang dipakai, penentuan jenis sinyal dan konektor yang dipakai, serta susunan
 
 
[6]. Gamba
enai fungsi
ggunakan kom
ta Terminal
ata Communi
 
Tabel 2.5. (lanjutan) Keterangan pin konektor DB9 (PC serial port) [6].
No
pin
Nama
4 DTR Data Terminal Ready Dengan saluran ini, DTE memberitahukan
kesiapan terminalnya.
6 DSR Data Set Ready Dengan saluran ini, DTE memberitahukan
bahwa siap melakukan komunikasi.
7 RST Request To Send Dengan saluran ini , DCE diminta mengirim
data oleh DTE.
8 CTS Clear To Send Dengan saluran ini, DCE memberitahukan
bahwa DTE boleh mulai mengirim data.
9 RI Ring Indicator Dengan saluran ini, DCE memberitahukan ke
DCE bahwa sebuah stasiun menghendaki suatu
hubungan dengannya.
2.6. AT Command AT Command adalah perintah-perintah yang digunakan dalam komunikasi dengan
serial port. Dengan AT Command kita dapat mengetahui data dalam ponsel, mengirim sms,
membuat panggilan,.dan lain-lain.
Dalam program SMS Server yang akan dibuat, tidak semua perintah AT digunakan.
Penulis hanya menggunakan beberapa perintah AT yang ada hubungannya dengan sistem
kerja dari program SMS Server. Adapun perintah yang akan digunakan adalah sebagai
berikut :
AT-Command Keterangan
AT+CMGF Untuk menetapkan format mode dari terminal
AT+CSCS Untuk menetapkan jenis encoding
17   
17 
AT-Command Keterangan
secara otomatis
AT+CMGL Membuka daftar SMS yang ada pada SIM Card
AT+CMGS Mengirim pesan SMS
AT+CMGR Membaca pesan SMS
AT+CMGD Menghapus pasan SMS
ATE1 Mengatur ECHO
digunakan
2.7. Mikrokontroler AVR Mikrokontroler AVR memiliki arsitektur RISC (Reduced Instruction Set
Computing), 8 bit. Semua instruksi dikemas dalam kode 16 bit (16 bits word) dan sebagian
besar instruksi dieksekusi dalam 1 siklus clock [8]. Secara umum, AVR dikelompokkan
menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan
AT86RFxx. Pada dasarnya, yang membedakan masing-masing kelas adalah memori,
peripheral, dan fungsinya.
2.7.1. Arsitektur dan Konfigurasi Pin ATMega8535 Dalam penelitian ini, mikrokontroler yang digunakan adalah ATMega8535.
Mikrokontroler ini dipilih karena spesifikasi dan fitur yang cukup lengkap [8]. Konfigurasi
lengkap dari pin ATMega8535 dapat dilihat pada Gambar 2.6. Konfigurasi pin dan
arsitektur yang digunakan adalah [8] : 1. Pin 10, merupakan pin yang berfungsi sebagai pin masukan catu daya / VCC.
2. Pin 11 dan 31, merupakan pin yang berfungsi sebagai ground.
3. Port D.0 (RXD) dan port D.1 (TXD), merupakan port UART (Universal Asyncronous
Receiver/ Transmitter) yang difungsikan untuk komunikasi serial.
 
 
masanya. Se
1. Ground
3. Load Charging voltage & POWER (ignition)
4. No Connection
5. Data output
6. Data input
9. Ground for microphone
Siemens C35 menggunakan instruksi AT (AT Command Set) untuk pengoperasian
perangkat telepon seluler tersebut. Instruksi yang dimanfaatkan pada perancangan
perangkat ini ini adalah :
Perintah ini berfungsi untuk melakukan panggilan telepon, misalkan kita
melakukan panggilan nomor telepon 0274 834566, maka data yang masuk ke telepon
seluler adalah : ATD 0274834566 dalam format ASCII.
2. ATA
Perintah ini berfungsi untuk menerima panggilan telepon yang masuk (answering
call).
4. RING
Panggilan yang masuk ke telepon seluler akan dideteksi sebagai data RING secara
berulang-ulang dengan sequence tetap.
MIC ATAS
1 12
No. Data yang
1 3 28
2 9 113
3 15 196
4 20 265
5 25 336
Data awal yang terdapat pada tabel 2.7 Menunjukkan data awal untuk membuat
rumus, karena rumus yang terdapat dalam datasheet kurang presisi bila diterapkan dalam
sistem ini. Rumus yang didapat adalah jarak=(waktu/14)+1. Pembagian 14 didapat dari
konstanta persekutuan terkecil dari data sample. Konstanta tersebut didapatkan nilai 14.
Bila data dibagi 14 mendapatkan nilai yang konstan dan mendekati presisi. Penambahan
angka 1 didapatkan setelah pembagian 14 karena data yang sebenarnya dan data
perhitungan memiliki selisih 1.
22   
22 
Gambar 2.10. (lanjutan) Contoh Diagram Alir Penggunaan Sensor Ultrasonik
23   
23 
 
2.10. Liqiud Crystal Display (LCD) Liquid Crystal Display (LCD) merupakan Sebuah teknologi layar digital yang
menghasilkan citra pada sebuah permukaan yang rata (flat) dengan memberi sinar pada
kristal cair dan filter berwarna, yang mempunyai struktur molekul polar, diapit antara dua
elektroda yang transparan [10]. Bila medan listrik diberikan, molekul menyesuaikan
posisinya pada medan, membentuk susunan kristalin yang mempolarisasi cahaya yang
melaluinya.
Teknologi yang ditemukan semenjak tahun 1888 ini, merupakan pengolahan kristal
cair merupakan cairan kimia, di mana molekul-molekulnya dapat diatur sedemikian rupa
bila diberi medan elektrik seperti molekul-molekul metal bila diberi medan magnet. Bila
diatur dengan benar, sinar dapat melewati kristal cair tersebut.
Pada awalnya, teknologi LCD lebih banyak digunakan sebagai layar untuk laptop,
komputer desktop juga telah mulai menggunakan monitor yang memakai teknologi LCD
ini
Banyak sekali kegunaan LCD dalam perancangan suatu sistem yang menggunakan
mikrokontroler.
LCD berfungsi menampilkan suatu nilai hasil sensor, menampilkan teks, atau
menampilkan menu pada aplikasi mikrokontroler. LCD yang digunakan adalah jenis LCD
M1632. LCD M1632 merupakan modul LCD dengan tampilan 16 x 2 baris dengan
konsumsi daya rendah. Modul tersebut dilengkapi dengan mikrokontroler yang didesain
khusus untuk mengendalikan LCD.
24   
24 
Pin no Sinyal I/O Fungsi
1 VSS Power Ground
3 VEE Power Penggerak LCD
4
address counter (read)
5 R/W Input Memilih operasi write (O)/read (I)
6 E Input Memilih operasi write/read data
7 .... 10 DB3-DB0 Input/Output Empat high data bus three state
bidirectional
11 ... 14 DB7-DB4 Input/Output Empat high data bus three state
bidirectional
2.10.1. Keuntungan LCD
Salah satu alasan yang membuat LCD menjadi pengganti CRT adalah bentuknya
yang jauh lebih langsing. CRT menggunakan tabung untuk menembakkan elektron-
elektron yang akan melakukan scanning pada layar dan membuat fosfor pada layar CRT
bercahaya dan membentuk gambar.
LCD tidak menggunakan tabung melainkan kristal cair (Liquid Crystal). Ia juga
tidak memerlukan tembakan elektron melainkan hanya membutuhkan aliran listrik. Itu
sebabnya LCD menjadi lebih langsing dibandingkan CRT.
Bayangkan jika Anda membeli sebuah TV CRT yang berlayar besar, misalnya 29
inci. Layar besar ini akan membutuhkan tabung yang juga besar akibatnya bentuknya
menjadi besar dan gemuk dan beratnya secara otomatis juga akan bertambah.
Dengan ukuran layar yang sama LCD akan terlihat lebih langsing tanpa harus
menambah ketebalan di bagian belakangnya. Akibatnya juga akan lebih ringan dan
memiliki sifat portabilitas yang tinggi.
Oleh sebab itu LCD menjadi harapan banyak orang untuk dapat menampilkan
gambar dengan lebih bagus dan mata juga tidak cepat lelah.
LCD sendiri sebenarnya sudah sejak lama hadir hanya saja belum dalam bentuk televisi.
Bahkan setiap hari Anda sering menggunakannya tanpa menyadarinya.
25   
25 
Teknologi LCD dapat ditemukan pada kalkulator, jam tangan digital, microwave,
termometer dan bermacam peralatan elektronik lainnya. Jadi bukanlah hal yang
mengejutkan jika teknologi LCD mengalami perkembangan menjadi televisi.
2.10.2. Cara kerja LCD
LCD menggunakan komponen utama yang berupa kristal cair. Kristal cair ini
bukanlah sebuah kristal yang benar-benar berbentuk cair, namun berada diantara cair dan
padat. Ia lebih mendekati cair dibandingkan padat. Untuk mengubahnya menjadi benar-
benar cair, hanya dibutuhkan sedikit panas. Ia sangat sensitif terhadap suhu, itulah
sebabnya mengapa layar LCD pada notebook atau LCD lainnya biasanya akan bereaksi
sedikit aneh ketika berada pada cuaca dingin atau panas terik.
Salah satu fitur dari kristal cair adalah mereka mudah bereaksi terhadap arus listrik.
Kristal cair ini disusun dengan cara di lilit (twisted) dan di sebut dengan Twisted Nematics
(TN).
Dengan memberikan arus listrik akan membuat kristal cair ini saling melepaskan
lilitannya ke dalam bermacam sudut, tergantung dari besarnya arus listrik. LCD
menggunakan kristal cair ini karena mereka dapat bereaksi dengan tepat terhadap arus
listrik sehingga dapat digunakan untuk mengontrol cahaya.
2.10.3. Gangguan Piksel
Untuk dapat memproduksi beragam warna, pada masing-masing piksel terdapat tiga
subpiksel yang terdiri dari warna merah, hijau dan biru (RGB). Kombinasi ketiga warna ini
akan mampu menghasilkan 16,8 juta warna. Misalnya sebuah layar memiliki resolusi
1024x768 piksel, ini berarti terdapat 1024 kolom x 768 baris x 3 subpiksel, kita akan
memperoleh 2.359.296 transistor.
pada layar.
2.10.4. Ukuran dan teknologi LCD
Ukuran layar LCD saat ini masih terbatas. Hal ini disebabkan karena ukuran layar
yang makin besar akan memerlukan piksel dan transistor yang lebih banyak. Dengan
26   
26 
semakin banyaknya transistor yang digunakan maka kemungkinan terdapatnya piksel yang
rusak juga cukup besar. Terkadang perusahaan harus me-reject hingga 40 % dari panel
yang di rakit. Tingkat reject yang cukup besar ini juga yang menjadi salah satu sebab
utama harga LCD menjadi tinggi.
LCD saat ini sudah memiliki bermacam teknologi diantaranya Super Twisted
Nematics (STN), Dual Scan Twisted Nematics (DSTN), Ferroelectric Liquid Crystal
(FLC) dan Surface Stabilized Ferroelectric Liquid Crystal (SSFLC).
   
BAB III
PERANCANGAN SISTEM
3.1. Gambaran Sistem Alat yang akan dibuat sesuai dengan perumusan masalah menggunakan beberapa
bagian utama yang saling bekerja sama membentuk sistem pengukuran ketinggian air pada
kolam yang nantinya akan dikirim oleh mikrokontroler melalui komunikasi data ke
handphone. Sistem terdiri dari 2 bagian utama yaitu bagian pengukur ketinggian air yang
berada kolam dan bagian penerima yang berada di komputer sebagai penerima data
ketinggian air. Gambar 3.1. memperlihatkan diagram blok sistem secara keseluruhan.
Gambar 3.1. Diagram blok sistem
Cara kerja sistem adalah sebagai berikut :
1. Sensor akan mencatat ketinggian air dengan perhitungan waktu relay dan akan
berhenti dan kemudian akan melakukan perhitungan lagi.
28   
2. Setelah relay maka mikrokontroler akan mengirimkan secara otomatis data
ketinggian air.
3. Data kemudian akan diterima oleh mikrokontroler penerima dan antarmuka yang
terhubung ke komputer. Data secara otomatis akan dicatat oleh komputer dan
dimasukkan ke file database.
4. Apabila data telah diterima, maka secara otomatis atau manual akan mengirimkan
balasan ke handphone sebagai validasi.
3.2. Perancangan
3.2.1. Perancangan Piranti Keras Piranti keras merupakan salah satu bagian sistem yang utama. Supaya sistem dapat
bekerja dengan baik, piranti keras yang digunakan harus benar-benar dapat menjalankan
fungsinya masing-masing. Sesuai dengan analisa kebutuhan yang telah dijabarkan
sebelumnya, piranti keras terdiri dari mikrokontroler, LCD, RS232, dan catu daya.
3.2.1.1. Mikrokontroler
Rangkaian utama dari mikrokotroler ATMEGA8535 adalah rangkaian osilator dan
rangkaian power on reset. Rangkaian osilator menggunakan kristal dengan frekuensi 4
MHz dengan dua buah kapasitor 22 pf. Rangkaian power on reset berfungsi untuk menjaga
agar pin RST mikrokontroler selalu berlogika rendah saat mikrokontroler mengeksekusi
program. Mikrokontroler akan reset pada transisi tegangan rendah ke tegangan tinggi, oleh
karena itu pada pin RST dipasang kapasitor yang terhubung ke ground dan resistor ke VCC
yang menjaga RST bernilai 0 saat pengisian kapasitor dan bernilai 1 saat kapasitor penuh.
Pada saat sumber tegangan diaktifkan, kapasitor terhubung singkat, sehingga arus mengalir
dari Vcc langsung ke kaki RST sehingga reset berlogika 0. Kemudian kapasitor terisi
hingga tegangan pada kapasitor sama dengan Vcc. Pada saat ini kapasitor penuh. Dengan
demikian tegangan reset akan turun menjadi 1 sehingga kaki RST berlogika 1. Rangkaian
mikrokontroler AT8535 ditunjukkan pada Gambar 3.2.
29   
3.2.1.2. LCD
dimonitor pada alat pengukur ketinggian air. Pensampil LCD dibutuhkan untuk tampilan
huruf dan angka dengan konsumsi daya rendah. Rangkaian dan koneksi LCD ke
mikrokontroler ditunjukkan pada gambar 3.3.
Gambar 3.3. Rangkaian LCD [10]
3.2.1.3. Komunikasi Serial RS232
Koneksi antara komputer dengan HP menggunakan komunikasi serial. Komunikasi
serial dibangun dengan kabel data serial MAX 232 yang ditunjukkan pada Gambar 3.4.
SW1
RST
XTAL2
XTAL1
GND
AREF
AVCC
GND
VCC
PB0 (XCK/T0) PB1 (T1) PB2 (INT2/AIN0) PB3 (OC0/AIN1) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PC0 (SCL) PC1 (SDA)
PC2 PC3 PC4 PC5
PC6 (TOSC1) PC7 (TOSC2)
PD0 (RXD) PD1 (TXD)
PD2 (INT0) PD3 (INT1)
PD4 (OC1B) PD5 (OC1A) PD6 (ICP1) PD7 (OC2)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
RELAY2 CTRL-RX1
C3 22pF
J1
LCD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
DB7 DB6
Gambar 3.4. Rangkaian Komunikasi serial RS232 [4]
Standar sinyal serial MAX 232 memiliki ketentuan level tegangan sebagai berikut :
1. Logika ‘1’ terletak antara -3 Volt sampai -25 Volt.
2. Logika ‘0’ terletak antara +3 Volt sampai +25 Volt.
Daerah tegangan antara -3 Volt sampai +3 Volt adalah invalid level, level daerah tegangan
yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga, level
tegangan lebih negatif dari -25 Volt atau lebih positif dari +25 Volt juga harus dihindari
karena tegangan tersebut dapat merusak line driver pada saluran MAX 232.
3.2.1.4. Rangkaian keseluruhan
12 9 14 7
R1IN R2IN T1IN T2IN
R1OUT R2OUT T1OUT T2OUT
3.2.2. Perancangan Perangkat Lunak 3.2.2.1. Perancangan Piranti Lunak Mikrokontroler
Untuk menjalankan fungsinya, mikrokontroler membutuhkan suatu piranti lunak
dengan kode yang akan tersimpan di memori flash dari ATMEGA8535. Piranti ini tidak
akan menghabiskan terlalu besar kapasitas dari flash mikrokontroler dibandingkan dengan
bahasa pemrograman lain. Selain itu bahasa pemrogramannya juga masih mudah untuk
dipelajari dan dapat dibaca langsung. Perangkat lunak akan dibuat dengan menggunakan
development Code Vision AVR yang menggunakan pemrograman bahasa C.
3.2.2.2. Piranti Lunak Pengirim data
Piranti lunak pengirim data berperanan untuk mengolah data ketinggian air
menjadi data angka serta menampilkan di LCD dan mengirimkannya ke handphone
melalui serial data yang dikoneksikan ke komputer. Diagram alir perancangan piranti lunak
pengirim data ditunjukkan pada Gambar 3.6.
Gambar 3.6. Diagram Alir Piranti Lunak Pengirim Data Mikrokontroler
32   
33   
3. 2.2.3. Piranti Lunak Antarmuka Komputer
Supaya data dapat diolah oleh komputer maka data dari sensor ketinggian air yang
ada pada kolam perlu diolah dan dikonversi ke data serial dengan kecepatan data yang
lebih tinggi. Oleh karena itu suatu piranti lunak yang akan melakukan kontrol diperlukan
untuk konversi tersebut. Diagram alir piranti lunak yang akan dibangun ditunjukkan pada
Gambar 3.9. Data yang nantinya akan disimpan ke database komputer adalah level air, set
point, dan waktu.
3.2.2.4. Perancangan Piranti Lunak Komputer
Piranti lunak komputer dibangun dengan menggunakan bahasa pemrograman visual
basic dari Microsoft. Piranti lunak ini berfungsi utnuk melakukan pencatatan data
ketinggian air dan menyimpan dalam suatu sistem database. Diagram alir perancangan
piranti lunak komputer ditunjukkan pada Gambar 3.10.
Gambar 3.10. Diagram alir Piranti Lunak Komputer
35   
   
HASIL DAN PEMBAHASAN
4.1. Gambar Fisik Hardware Dalam penelitian ini, hardware yang dibuat terdiri dari rangkaian pompa air, sensor
ultrasonik, LCD, handphone, tombol akses manual, komunikasi serial, minimum system
mikrokontroler, rangkaian regulator tegangan, dan model kolam ikan. Gambar fisik seluruh
hardware dapat dilihat pada Gambar 4.1 dan Gambar 4.2 a-e.
Gambar 4.1 Rangkaian keseluruhan
(a) (b) (c)
Gambar 4.2 (a) Rangkaian pompa, (b) Sensor Ultrasonik, (c) LCD, (d) Handphone,
(e) Rangkaian elektronis
(d) (e)
Gambar 4.2 (lanjutan) (a) Rangkaian pompa, (b) Sensor Ultrasonik, (c) LCD,
(d) Handphone, (e) Rangkaian elektronis
4.2. Pengujian SMS Perintah Pengujian SMS perintah dilakukan untuk mengetahui hasil pengolahan SMS
perintah dan eksekusi pada prototype kolam ikan. Pengujian dilakukan dengan mengirim
seluruh SMS perintah sesuai dengan format SMS perintah pada perancangan. Pengujian
masing-masing percobaan dilakukan 10 kali dan selalu berhasil.
Data awal yang dimasukkan disimpan di EEPROM dan selanjutnya data tersebut
dapat diganti sesuai dengan kebutuhan pengguna. SMS yang diterima oleh handphone akan
diolah oleh mikrokontroler dan dibandingkan dengan data yang tersimpan di EEPROM
mikrokontroler. Data perubahan nomor pengguna, data interval SMS periodik dan data
kontrol set point akan selalu disimpan di EEPROM.
Kondisi awal untuk pengujian adalah set point 10 cm, ketinggian air 10 cm, SMS
periodik 5 menit, nomor penerima 1 085643929717, kondisi On, nomor penerima 2
08994108477, kondisi off.
Tabel 4.1 Format SMS yang dikirim dan yang diterima No SMS yang di kirim
dari pengguna SMS yang diterima oleh
pengguna Keterangan Sukses atau
gagal 1 SMS ON CONTROL SET : TINGGI
LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:OFF 08994108477.
Set pengiriman SMS on
Set pengiriman SMS off
 
Tabel 4.1 (lanjutan) Format SMS yang dikirim dan yang diterima No SMS yang di kirim
dari pengguna SMS yang diterima oleh
pengguna Keterangan Sukses atau
gagal 3 REG1 ON CONTROL SET : TINGGI
LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:OFF 08994108477.
Seting register1 on, nomor terdaftar akan menerima SMS
Sukses
4 REG1 OFF CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 5 MENIT, REG1:OFF 085643929717, REG2:OFF 08994108477.
Seting register1 off, nomor terdaftar 1 tidak sukses akan menerima SMS
Sukses
5 REG1 08154398427
CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 5 MENIT, REG1:ON 08154398427, REG2:OFF 08994108477.
Ubah nomor penerima SMS 1 menjadi 08154398427
Sukses
6 REG2 ON CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:ON 08994108477.
Seting register2 on, nomor terdaftar akan menerima SMS
Sukses
7 REG2 OFF CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:OFF 08994108477.
Seting register2 off, nomor terdaftar 2 tidak akan menerima SMS
Sukses
8 REG2 08154398427
CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:OFF 08154398427.
Ubah nomor penerima SMS 2 menjadi 08154398427
Sukses
9 SET 13 CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 13 CM, INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:OFF 08994108477.
Ubah pengaturan set point menjadi 13 cm
Sukses
39   
 
Tabel 4.1 (lanjutan) Format SMS yang dikirim dan yang diterima No SMS yang di kirim
dari pengguna SMS yang diterima oleh
pengguna Keterangan Sukses atau
gagal 10 INT 10 CONTROL SET : TINGGI
LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 10 MENIT, REG1:ON 085643929717, REG2:OFF 08994108477.
Ubah pengaturan waktu interval SMS periodik menjadi 10 menit
Sukses
11 SETING CONTROL SET : TINGGI LEVEL AIR : 10 CM, SET POINT : 10 CM, INTERVAL SMS: 5 MENIT, REG1:ON 085643929717, REG2:OFF 08994108477.
Mengirim kondisi pengaturan terkini yang terdapat di alat
sukses
12 CEK CONTROL SMS: TINGGI LEVEL AIR: 10 CM, SET POINT: 10 CM.
Mengirim kondisi tinggi air dan set point terkini di kolam
Sukses
13 PULSA *388# SALDO PULSA : PULSA UTAMA RP. 2147. AKTIF 16/02/11, TENGGANG 16/03/11.
Cek saldo di hp yang terpasang di alat
Sukses
Data pengiriman SMS dari nomor asing (nomor yang tidak terdaftar dalam reg 1 dan reg 2)
Tabel 4.2. Pengujian dengan nomor asing
No. Nomor pengirim SMS yang dikirim Status sistem
1. 085643348439 Set 10 Mengubah set point menjadi 10 cm
2. 085643348439 Seting Mengirimkan seting yang terdapat dalam sistem
3. 085643348439 Int 5 Mengubah interval sms periodik menjadi 5 menit
4. 085643348439 Kirim sms Menghapus SMS yang diterima dan tidak
mengubah kondisi sistem karena format SMS
tidak dikenal
5. 081215566772 Set 10 Mengubah set point menjadi 10 cm
6. 081215566772 Seting Mengirimkan seting yang terdapat dalam sistem
7. 081215566772 Int 5 Mengubah interval sms periodik menjadi 5 menit
8. 081215566772 Kirim sms Menghapus SMS yang diterima dan tidak
mengubah kondisi sistem karena format SMS
tidak dikenal
Seluruh SMS yang direspon dengan baik oleh mikrokontroler sesuai dengan
perancangan. Mikrokontroler langsung mengirimkan SMS keadaan status terakhir ke
pengguna saat pengguna mengirimkan SMS perintah. Salah satu kekurangan dari sistem ini
adalah ketidakamanan sistem. Pengujian SMS dari nomor yang tidak terdaftar dalam
register1 dan register 2 dilakukan menggunakan 2 nomor yang berbeda, data yang diambil
ditunjukkan pada tabel 4.2. Sistem ini tidak aman karena jika ada SMS dari nomor asing
(nomor yang tidak terdaftar), maka mikrokontroler akan menghapus SMS tersebut tetapi
tetap menjalankan perintah, hal ini dikarenakan sistem hanya membaca perintah dari SMS
yang masuk tetapi tidak membaca nomor pengirim. Nomor register1 dan nomor register2
digunakan untuk mengirimkan SMS periodik yang telah disimpan dalam mikrokontroler.
Pengujian SMS periodik dilakukan 3 kali nilai yang berbeda yaitu 5 menit, 10 menit dan 15
menit. Setiap nilai dilakukan pengujian sebanyak 5 kali. Hasil dari pengujian SMS periodik
tersebut ditunjukkan tabel 4.3.
Tabel 4.3 Pengujian SMS periodik
No. Nilai SMS periodik Waktu yang ditunjukkan Rata-rata interval waktu SMS
yang diterima (menit)
2. 10 10:16,10:26,10:36 10:05
3. 15 10:30,10:45,11:00 15:05
41   
 
4.3 Pengujian ketinggian air Pengujian ketinggian air dilakukan dengan dua cara, yaitu dengan posisi pompa
memasukkan air aktif (ketinggian air semakin bertambah) dan pompa mengeluarkan air
aktif (ketinggian air semakin berkurang). Data yang diambil masing-masing cara sebanyak
5 kali pengambilan dengan ketinggian air yang berbeda-beda. Tingkat ketelitian sensor
adalah 1 cm. Hasil yang didapat terdapat di Tabel 4.5 dan Tabel 4.6. Set point maksimum
adalah 25 cm. Jika set point melebihi 25 cm maka sistem akan memaksa menjadikan set
point menjadi 25 cm. Listing program set point maksimum adalah sebagai berikut :
else if ( strncmpf( buffer,keyD,4 )==0 ) { i=0,j=0,k=4,temp=0; while (isalnum(msg[k])) temp=(temp*10)+toint( msg[k++] ); if ( temp>=25 ) temp=25; setpoint=temp,setpoint_e=setpoint; sprintf(buffer,"SETPOINT: %2d CM ", setpoint ); lcd_gotoxy(0,1); lcd_puts(buffer); send_sistem=1; delay_ms(2000);
Tabel 4.4 Data awal perancangan rumus
No. Data yang
Data per centimeter didapatkan dariwaktu pemantulan dibagi dengan jarak yang
sebenarnya. Data yang didapat tidak stabil sehingga perhitungan untuk rumus
menggunakan metode KPK (konstanta Persekutuan Terkecil). Dengan perhitungan tersebut
didapat nilai 14.
Data awal yang terdapat pada tabel 4.4 Menunjukkan data awal untuk membuat
rumus, karena rumus yang terdapat dalam datasheet kurang presisi bila diterapkan dalam
sistem ini. Rumus yang didapat adalah jarak=(waktu/14)+1. Pembagian 14 didapat dari
konstanta persekutuan terkecil dari data sample. Konstanta tersebut didapatkan nilai 14.
Bila data dibagi 14 mendapatkan nilai yang konstan dan mendekati presisi. Penambahan
42   
 
angka 1 didapatkan setelah pembagian 14 karena data yang sebenarnya dan data
perhitungan memiliki selisih 1.
Hasil pengujian ketinggian air dalam sistem ditunjukkan pada tabel 4.5 dan tabel
4.6. Pengujian sistem dilakukan dengan set point yang berbeda. Pengambilan data
dilakukan dengan 2 cara, yaitu saat pompa memasukkan air aktif dan saat pompa
mengeluarkan air aktif.
No SMS yang dikirim
Ketinggian air yang terukur sensor (cm)
Keterangan
1 Set 12 12 11,5 12 Error 0,5 cm 2 Set 13 13 12,2 13 Error 0,8 cm 3 Set 10 10 8,9 10 Error 1,1 cm 4 Set 6 6 4,4 6 Error 1,6 cm 5 Set 7 7 5,8 7 Error 1,2 cm 6 Set 20 20 19,7 20 Error 0,3 cm 7 Set 23 23 22,3 23 Error 0,7 cm 8 Set 25 25 24,5 25 Error 0,5 cm 9 Set 27 25 24,3 25 Error 0,7 cm 10 Set 30 25 24,6 25 Error 0,4 cm
Tabel 4.6 Pompa mengeluarkan air aktif (ketinggian air berkurang)
No SMS yang dikirim
Ketinggian air yang terukur sensor (cm)
Keterangan
1 Set 25 15 15,2 15 Error 0,2 cm 2 Set 8 8 7,8 8 Error 0,2 cm 3 Set 4 4 4,1 4 Error 0,1 cm 4 Set 2 2 2,2 2 Error 0,2 cm 5 Set 5 5 5,4 5 Error 0,4 cm
Gambar 4.4 Grafik waktu terhadap ketinggian air
0
5
10
15
12 5
14 0
15 5
17 0
waktu (detik)
0
5
10
15
12 5
14 0
15 5
17 0
waktu (detik)
0
2
4
6
8
10
12
5 15 25 35 45 55 65 75 85 95 10 5
11 5
12 5
13 5
waktu (detik)
waktu (detik)
Gambar 4.4 (lanjutan) Grafik waktu terhadap ketinggian air
Waktu respon sistem membaca SMS adalah 16 detik setelah SMS diterima,
sedangkan untuk menjalankan pompa air membutuhkan waktu 26 detik setelah SMS
diterima.
Saat memasukkan air (pompa memasukkan air aktif) terdapat error rata-rata -1 cm.
Pengukuran air akan berubah ketika air sudah melebihi angka pengukuran yang sebenarnya
misal saat ketinggian air 7,2 cm, maka sensor sudah membaca ketinggian air 8 cm. Hal ini
terjadi karena ada penambahan 1 angka dalam program PORTA.6=0; jarak=(jarak/14)+1;
rumus tersebut didapatkan dari trial and error, karena jika menggunakan rumus yang
terdapat dari datasheet, terjadi error yang sangat besar. Penulis menggunakan rumus
sendiri untuk mendapatkan hasil yang mendekati kondisi yang sebenarnya. Secara
keseluruhan, error yang terjadi tidak mengubah kerja alat dan alat sudah bekerja sesuai
dengan perancangan.
unsigned int read_level() // READ DATA SENSOR { jarak=0,PORTA.6=0; DDRA.6=1,delay_ms(10); #asm("cli")
PORTA.6=1,delay_us(10),PORTA.6=0; DDRA.6=0,delay_us(300),PORTA.6=1; while ( !PINA.6 ); while ( PINA.6 ) ++jarak,delay_us(1); #asm("sei") PORTA.6=0; jarak=(jarak/14)+1; if ( jarak>=300 ) jarak=300; if ( jarak >= dasar ) level=0; else level=dasar-jarak;
0 1 2 3 4 5 6 7 8
5 15 25 35 45 55 65 75 85 95
ke ti ng gi an
waktu (detik)
4.4 Pengujian pengiriman data ke komputer Pengujian rangkaian komunikasi serial dilakukan untuk mengetahui keberhasilan
pengiriman data antara PC dan mikrokontroler. Pengujian dilakukan dengan menggunakan
bantuan software hyperterminal. Pengiriman data ke komputer dilakukan dengan
menggunakan kabel serial RS-232. Data yang dikirimkan adalah data ketinggian air, set
point , waktu, REG1 dan REG2. Data yang dikirimkan berupa data ASCII.
Pengujian yang dilakukan menggunakan hyperterminal dengan baudrate 19200. Gambar
4.5 menunjukkan hyperterminal menerima data yang dikirim oleh mikrokontroler. Mikrokontroler
mengirimkan data ke komputer dengan format "+LV:%d,SP:%d,TI:%d.%02d:%02d, SM: ON/OFF,
R1:ON/OFF, Nomor HP 1, R2:ON/OFF, Nomor HP 2" dengan +LV adalah tinggi level air, SP
adalah set point, TI adalah set clock SMS periodik, SM adalah pengaturan pengiriman pesan,
sedangkan R1 dan R2 adalah status nomor register 1 dan 2. Gambar 4.6 menunjukkan program dari
visual basic menerima data yang di kirimkan oleh mikrokontroler. Data yang terlihat menunjukkan
bahwa komputer menerima dengan baik data yang dikirimkan oleh mikrokontroler dan sesuai
dengan perancangan.
46   
4.5 PEMBAHASAN PERANGKAT LUNAK (SOFTWARE)
4.5.1 Pembahasan Program pada Komputer Masukan data di komputer menggunakan data ASCII yang dikirim oleh mikrokontroler
melalui komunikasi serial RS 232. Data tersebut diolah dan ditampilkan oleh program keadaan
ketinggian air dan pengaturan dalam mikrokontroler.
Tampilan menu dalam program di komputer adalah Connect/disconnect, setting, dan close
seperti terlihat di Gambar 4.7. Fungsi dari masing-masing tombol adalah :
1. Connect/disconnect : menu Connect akan mengaktifkan program untuk mengolah data yang
dikirimkan oleh mikrokontroler. Tulisan Connect akan merubah menjadi disconnect jika
program berhasil terhubung dengan mikrokontroler.
2. Setting : menu setting akan mengarahkan ke sub menu untuk mengatur koneksi com port
dan baudrate.
3. Close : menu close akan menghentikan program dan keluar dari program.
Gambar 4.7. Tampilan program keseluruhan
47   
Pengambil data memerlukan pemilahan agar data yang diperoleh dapat disesuaikan
dengan jenisnya. Data yang ditampilkan di list adalah data waktu, level air dan set point . Program
memperoleh data waktu dari sistem di komputer. Pengolahan pemilahan data menggunakan trim
lalu disimpan ke dalam variabel, agar mendapatkan konstanta level air dan set point diperlukan
pemilahan lagi. Setiap data mengandung karakter “:”, karakter tersebut digunakan sebagai penanda
awal konstanta. Pengambilan nilai data menggunakan trim, level air menggunakan variabel
“wtrlvl” dan set point menggunakan variabel “setpoi”. Tampilan program setelah dipilah dapat
dilihat pada Gambar 4.8.
Listng program untuk pemilahan data adalah sebagai berikut:
Private Sub HandleCommData(Data$) crtlin$ = Data If Right(crtlin$, 2) = vbCrLf Then crtlin$ = Trim(Left(crtlin$, Len(crtlin$) - 2)) If crtlin$ <> "" Then Select Case Left(crtlin$, 1) Case "+" If Left(crtlin$, 4) = "+LV:" Then linlen& = Len(crtlin$) infptr& = 0 lvlinf$ = Trim(ListMember(crtlin$, infptr&)) spoinf$ = Trim(ListMember(crtlin$, infptr&)) smsinf$ = Trim(ListMember(crtlin$, infptr&)) rg1inf$ = Trim(ListMember(crtlin$, infptr&)) rg2inf$ = Trim(ListMember(crtlin$, infptr&)) If lvlinf$ <> "" Then colpos% = InStr(lvlinf$, ":") If colpos% > 0 Then wtrlvl# = Val(Trim(Right(lvlinf$, Len(lvlinf$) - colpos%))) End If End If If spoinf$ <> "" Then colpos% = InStr(spoinf$, ":") If colpos% > 0 Then setpoi# = Val(Trim(Right(spoinf$, Len(spoinf$) - colpos%)))
48   
 
End If End If selidx& = ListAdd(Now, wtrlvl#, setpoi#) LVDat.ListItems(selidx&).Selected = True lstcnt& = LVDat.ListItems.Count If lstcnt& > 20 Then For i% = lstcnt& - 20 To 1 Step -1 LVDat.ListItems.Remove i% Next i% End If End If Case "-" End Select End If End Sub
Pengguna juga dapat melihat log yang dikirim dari mikrokontroler seperti di hyperterminal.
Log tersebut merupakan control program dapat menerima dengan baik atau tidak. Data tersebut
dapat dilihat di textbox bagian bawah. Tampilan akan terlihat seperti pada Gambar 4.9.
Gambar 4.9. Tampilan program TxtLog
Listng program untuk log adalah sebagai berikut:
Private Sub AppendLog(Log$) maxlen& = 1000 cutsiz& = 300 If Len(TxtLog.Text) >= maxlen& Then crtlog$ = TxtLog.Text lfdpos& = InStr(cutsiz&, crtlog$, vbCrLf) If lfdpos& > 0 Then crtlog$ = Right(crtlog$, Len(crtlog$) - (lfdpos& + 1)) TxtLog.Text = crtlog$ End If End If TxtLog.SelStart = Len(TxtLog.Text) + 1 TxtLog.SelLength = 0 TxtLog.SelText = Log End Sub
Program dapat bekerja dengan baik jika program terhubung ke perangkat, program
memerlukan koneksi port dan baudrate agar program dapat terhubung ke perangkat. Dalam
49   
 
program ini koneksi port dan baudrate dapat dipilih sesuai dengan alat. Jika alat tidak terhubung,
maka akan muncul kotak dialog yang berisi letak kesalahan tersebut. Gambar 4.10 menunjukkan
pesan untuk kesalahan koneksi.
Listng program untuk melakukan koneksi ke mikrokontroler adalah sebagai berikut:
Private Sub CmdConnect_Click() If Not Comm.PortOpen Then On Error Resume Next bautxt$ = Choose(mBaudRate, "4800", "9600", "19200") Comm.CommPort = mCommPort Comm.Settings = bautxt$ + ",N,8,1" Comm.PortOpen = True errflg& = Err errdsc$ = Error On Error GoTo 0 ResetComControls If errdsc$ <> "" Then If Right(errdsc$, 1) <> "." Then errdsc$ = errdsc$ + "." erhinf$ = Hex(errflg&) erhinf$ = String(8 - Len(erhinf$), "0") + erhinf$ errdsc$ = vbLf + "Error " + erhinf$ + ": " + errdsc$ End If If Not Comm.PortOpen Then errinf$ = "Koneksi serial via COM" + Format(mCommPort, "#0") + " gagal." +
errdsc$ MsgBox errinf$, vbInformation End If Else Comm.PortOpen = False ResetComControls End If End Sub Dalam subform setting, terdapat pilihan port dan baudrate. Port dipilih dari port
yang ada di komputer dengan cara mengambil list com port dalam komputer. Com port ini
digunakan untuk koneksi ke mikrokontroler. Untuk pemilihan baudrate, program hanya
akan mengambil nomor index. Nomor index ini untuk memilih baudrate di dalam program
koneksi ke mikrokontroler.
Listng program untuk melakukan pengaturan port dan baudrate adalah sebagai
berikut:
4.5.2 Pembahasan Program pada Mikrokontroler Pertama-tama program utama akan membaca kedalaman air yang terukur lalu akan
membaca SMS yang masuk. Setelah program menjalankan pembacaan SMS, program akan
menjalankan SMS periodik. Jika SMS periodik diaktifkan dan sudah waktunya untuk mengirim,
maka data SMS akan dikirim ke nomor terdaftar 1 dan nomor terdaftar 2. Setelah mengirim SMS
periodik ke nomor yang terdaftar, program akan mengirimkan data ke komputer melalui kabel
serial RS232. Sistem ini memiliki tingkat keamanan yang rendah karena tidak dilengkapi password
untuk mengaktifkan alat. Keamanan yang dilakukan adalah dengan cara merahasiakan nomor pada
sistem.
while (1) { read_level(); DDRD.5=1,DDRD.6=1; setpoint=setpoint_e; set_menit=set_menit_e; sprintf(buffer,"LEVEL :%3d cm\nSETPOINT :%3d cm",level,setpoint ); lcd_clear(),lcd_puts(buffer); / if ( cek ) cek_sms(),cek=0; if ( send && sms_en==1 && set_menit!=0 )
51   
 
{ if ( r1_en==1 ) load_r1(),sms_data(); if ( r2_en==1 ) load_r2(),sms_data(); send=0; }; if ( tick ) { gsm=0,delay_ms(5);
printf("+LV:%d,SP:%d,TI:%d.%02d:%02d,",level,setpoint,set_menit,menit,clock ); if ( sms_en==1 ) printf("SM:ON,"); else printf("SM:OFF,"); if ( r1_en==1 ) printf("R1:ON."); else printf("R1:OFF."); i=0; while ( reg1[i]!='#') putchar(reg1[i++]); if ( r2_en==1 ) printf(",R2:ON."); else printf(",R2:OFF."); i=0; while ( reg2[i]!='#') putchar(reg2[i++]); printf("\r\n"); delay_ms(5); gsm=1,delay_ms(5),reset_buffer(),tick=0; };
Pengaturan awal diperlukan agar program berjalan sesuai dengan yang diharapkan. Dalam
program ini, pengaturan awal yang dilakukan adalah mengatur dan menyimpan format-format SMS
yang akan diolah, pengaturan variabel yang akan digunakan dan pengaturan EEPROM untuk
penyimpanan data.
Format SMS disimpan dalam flash memori dan format SMS ini akan dibandingkan dengan
SMS yang masuk. Jika ada SMS yang masuk tidak sesuai dengan format SMS yang tersedia, maka
program akan menghapus SMS tersebut. Listng program pengaturan awal format SMS adalah
sebagai berikut:
flash char key1[8]={"REG1 ON"}; // PRE-SET SMS KEYWORD flash char key2[9]={"REG1 OFF"}; flash char key3[6]={"REG1 "}; flash char key4[8]={"REG2 ON"}; flash char key5[9]={"REG2 OFF"}; flash char key6[6]={"REG2 "}; flash char keyA[7]={"SMS ON"}; flash char keyB[8]={"SMS OFF"}; flash char keyC[4]={"CEK"}; flash char keyD[5]={"SET "}; flash char keyE[5]={"INT "}; flash char keyF[7]={"PULSA "}; flash char keyG[7]={"SETING"};
Pengaturan awal EEPROM diperlukan agar program dapat berjalan dengan baik dan
pengguna tidak mengatur lagi saat penggunaan pertama kali. Pengaturan awal ini dapat diubah-
ubah sesuai dengan keinginan pengguna. Karakter EEPROM diwakili dengan SMS_en, r1_en,
r2_en, dasar, set_menit_e, setpoint_e, reg1, reg2, save.
Listng program pengaturan awal data EEPROM adalah sebagai berikut:
eeprom unsigned char sms_en=1,r1_en=1,r2_en=0; eeprom unsigned int dasar=33,set_menit_e=5,setpoint_e=20;
52   
 
eeprom unsigned char reg1[17]={"085643929717#"}; eeprom unsigned char reg2[17]={"+628994108477#"}; eeprom unsigned char save[17]={"08994108477#"};
Sistem memerlukan pembacaan SMS dalam HP agar berjalan dengan baik. Dalam
pembacaan SMS pertama-tama mendeteksi perangkat HP. Jika HP terhubung, maka program akan
membaca SMS yang masuk satu persatu dan membandingkan isi SMS tersebut dengan format
perintah SMS yang telah tersimpan. Jika nomor HP pengirim sama dengan nomor HP di dalam
memori dan format SMS merupakan format perintah SMS , maka SMS balasan akan dikirimkan ke
nomor yang terdaftar.
Dalam pengiriman SMS, mikrokontroler akan mencocokkan dahulu nomor pengirim. Jika
nomor cocok dengan nomor yang tersimpan, maka pengiriman SMS akan dilanjutkan, tetapi jika
nomor tidak cocok dengan nomor yang tersimpan di memori, maka mikrokontroler tidak akan
melakukan pengiriman SMS.
void cek_sms() { unsigned char T,index=1,send_sistem=0; if ( modem_chek()==1 ) { led=1,i=0,x=0,y=0; printf("AT+CPMS?\r\n"); while ( i==0 ) { if ( getchar()==':' ) { while ( getchar()!=',' ); x=desimal(),y=desimal(),i=1; while ( getchar()!=13 ); } else if ( data=='R' ) i=1; }; T=x; while ( x!=0 && index!=(y+1) ) { read_level(); send_sistem=0,clear_msg(); z=0; sprintf(buffer,"SMS MASUK NO.%d ",index ); lcd_clear(), lcd_puts(buffer); printf("AT+CMGR=%d\r\n", index ); while( getchar()!=',' ); while( getchar()!=',' ); while( isalnum(getchar())) z=(z*10)+toint(data); while( getchar()!=10 ); led=0; if ( z!=0 ) { i=pdu_decoder(),--x; read_level(),delete_sms(index),lcd_gotoxy(0,1); if ( i==1 ) { i=0; strncpy(buffer,msg,30); while ( i<=30 ) buffer[i]=toupper(buffer[i++]);
53   
 
Pengiriman SMS dilakukan bila HP terhubung dan pengiriman SMS diatur menjadi
ON. Pertama-tama program akan mengecek apakan HP telah terhubung dan pengiriman
SMS diaktifkan. Inisialisasi nomor HP yang terdaftar dengan membaca nomor terdaftar
sampai tanda “#” sebagai penanda akhir pembacaan nomor HP. Pengiriman SMS akan
dilakukan dengan cara mengirimkan AT+ CMGS ke HP dan mengirimkan PDU dari format
SMS yang akan dikirimkan. Jika pengiriman gagal, maka pengiriman SMS akan diulangi sebanyak
5 kali.
Listng program untuk pengiriman SMS adalah sebagai berikut:
void kirim_sms( unsigned char T ) { if ( modem_chek()==1 && sms_en==1 ) { while ( T!=0 ) { read_level(); led=1,gsm=0,delay_ms(5); printf("\r\n-SEND SMS: %c", '"'); i=0; while ( yyy[i]!='#' ) putchar(yyy[i++]); printf("%c,%c",'"','"'); i=0; while ( msg[i]!=0 ) putchar(msg[i++]); printf("%c\r\n\r\n",'"'); delay_ms(5),gsm=1,delay_ms(5),reset_buffer(); lcd_clear(); lcd_putsf("KIRIM SMS KE : "); display_yyy(); read_level(); delay_ms(500); read_level(); putchar(0x1B);
// ESCAPE CHAR ( 0x1B ) pas=1, pdu_encoder(); printf("AT+CMGS=%d\r\n",pdu); while ( getchar()!='>' ); pas=0,pdu_encoder(),putchar(0x1A); if ( response()==1 ) { read_level(); T=0,lcd_gotoxy(0,1),lcd_putsf("< sukses >"); } else { led=0; if (T==0) sprintf(buffer,"< gagal >" ); else sprintf( buffer,"< diulang ke %d >",(6-T) ); lcd_gotoxy(0,1); lcd_puts(buffer); read_level(); delay_ms(1500); --T; }; }; delay_ms(500); read_level(); }; led=0; }
Pengiriman data ke komputer dilakukan dengan format ASCII. Data yang dikirimkan ke
komputer adalah level air, set point , pengaturan sms periodik, nomor yang terdaftar, dan kondisi
nomor yang terdaftar. Pengiriman data ke komputer dilakukan dengan format
54   
 
"+LV:%d,SP:%d,TI:%d.%02d:%02d," dengan +LV adalah tinggi level air, SP adalah set point, dan
TI adalah set clock SMS periodik. Karakter “+” di depan LV adalah sebagai penanda agar mudah
dalam pengolahan data di komputer.
Listng program untuk pengiriman data ke komputer adalah sebagai berikut:
{ gsm=0,delay_ms(5);
printf("+LV:%d,SP:%d,TI:%d.%02d:%02d,",level,setpoint,set_menit,menit,clock ); if ( sms_en==1 ) printf("SM:ON,"); else printf("SM:OFF,"); if ( r1_en==1 ) printf("R1:ON."); else printf("R1:OFF."); i=0; while ( reg1[i]!='#') putchar(reg1[i++]); if ( r2_en==1 ) printf(",R2:ON."); else printf(",R2:OFF."); i=0; while ( reg2[i]!='#') putchar(reg2[i++]); printf("\r\n"); delay_ms(5); gsm=1,delay_ms(5),reset_buffer(),tick=0; };
Fasilitas yang disertakan dalam sistem ini adalah kontrol manual. Kontrol manual
diperlukan bila pengguna akan mengubah pengaturan dari alat tanpa mengunakan SMS. Kontrol
manual menggunakan 3 tombol yang masing-masing tombol memiliki fungsi yang berbeda yaitu
set point, kedalaman dasar, dan set SMS.
Kontrol manual set point dijalankan dengan menekan tombol sw1. Setelah tombol sw1
ditekan, fungsi pada sw2 dan sw3 akan berubah menjadi tombol untuk menambah dan mengurangi
set point.
if ( !sw1 ) { lcd_clear(); lcd_putsf(" = MENU 1 = \n SETPOINT "); do { delay_ms(500); } while ( !sw1 ); i=1; dsp_setpoint(); do { if ( !sw1 ) i=0; else if ( !sw2 ){ if (++setpoint>=25) setpoint=25; sp_setpoint(),delay_ms(200); i=1; } else if ( !sw3 ){ if (--setpoint>25 ) setpoint=0; dsp_setpoint(),delay_ms(200); i=1; }; } while ( i==1 ); setpoint_e=setpoint;
Tombol kedalaman dasar terdapat di menu ke 2 yaitu bila tombol sw2 ditekan. Untuk
menentukan kedalaman kosong didapat dari pengukuran jarak antara sensor dengan dasar kolam.
Seperti pada kontrol set point, jika sudah masuk menu kedalaman dasar, maka sw1 dan sw2
berfungsi sebagai kontrol ukuran kedalamannya.
else if ( !sw2 ) { lcd_clear(); lcd_putsf(" = MENU 2 = \nKEDALAMAN KOSONG"); do { delay_ms(500); } while ( !sw2 ); i=1; dsp_dasar(); do { if ( !sw1 ) i=0; else if ( !sw2 ){ if (++dasar>=50) dasar=50; dsp_dasar(),delay_ms(200); } else if ( !sw3 ){ if (--dasar>50 ) dasar=0; dsp_dasar(),delay_ms(200); }; } while ( i==1 );
55   
 
Fungsi set SMS adalah untuk mengaktifkan pengiriman SMS on atau off. Di menu ini
fungsi sw2 dan sw3 berganti menjadi logika on dan off.
   
5.1 KESIMPULAN Berdasarkan hasil pengujian serta pengambilan data pada perangkat pengendali dan
pemantau ketinggian air kolam pada sistem otomasi rumah menggunakan layanan sms,
dapat disimpulkan:
1. Program pada komputer dan program pada mikrokontroler dapat bekerja dengan baik.
2. Sistem pengendali dan pemantau ketinggian air kolam pada sistem otomasi rumah
menggunakan layanan SMS bekerja dengan baik namun pengukuran ketinggian air
kurang tepat, saat ketinggian air naik masih ada selisih rata-rata 0,5 cm dan saat
ketinggian air turun ada selisih rata-rata 0,22 cm, namun hal ini tidak mengganggu
fungsi keseluruhan sistem.
3. Keamanan sistem pengendali dan pemantau ketinggian air kolam pada sistem otomasi
rumah menggunakan layanan SMS kurang maksimal karena sistem tidak mengecek
nomor HP pengirim perintah dan tidak ada fitur password.
4. Setpoint maksimum sistem adalah 25 cm. Jika setpoint melebihi setpoint maksimum
maka setpoint akan tetap 25 cm
5.2 SARAN Perangkat pengendali dan pemantau ketinggian air kolam pada sistem otomasi
rumah menggunakan layanan SMS masih terdapat banyak kekurangan, maka perlu
pengembangan lebih lanjut. Saran bagi pengembangan aplikasi ini selanjutnya adalah:
1. Pembuatan perangkat water level controller menggunakan sensor yang lebih akurat
sehingga kesalahan yang terjadi dapat diminimalisir
2. Penambahan fitur password dan pengecekan nomor HP akan memberikan keamanan
yang lebih maksimal.
DAFTAR PUSTAKA
[1] Wibisono, G., Usman, U.K., dan Hantoro, G.D., 2008, Konsep Teknologi Seluler,
Cetakan Pertama, Penerbit Informatika , Bandung.
[2] Suhata, 2005, VB Sebagai Pusat Kendali Peralatan Elektronik, PT Elex Media
Komputindo, Jakarta
[3] Sanjaya, A., 2005, Mengirim SMS dari PC, [email protected] diakses
tanggal 28 November 2005
[4] ___________, RS232 Serial Connector,
http//www.lammertbies.nl/comm./cable/RS-232.html, 5 Mei 2010
[5] ___________, MAX232, http//www.maxim-ic.com/quick_view2.cfm/qv_pk/1798,
5 Mei 2010
[6] Sutadi, D.,2003, I/O Bus dan Motherboard, Cetakan pertama, Penerbit Andi,
Yogyakarta.
/siemens/ index.htm, diakses tanggal 22 September 2006.
[8] Winoto Ardi, 2008, Mikrokontroler AVR ATmega8/32/16/8535 dan
pemrogramannya dengan bahasa C pada WinAVR, Cetakan Pertama, Penerbit
Informatika, Bandung.
[9] Budihartanto Widodo, 2008, 10 Proyek Robot Spektakuler, Penerbit Elex Media
Komputindo, Jakarta.
[10] Tarmuji, A., 2005. Diktat kuliah Rekayasa Perangkat Lunak, Teknik Informatika
Universitas Ahmad Dahlan, Yogyakarta
Simulasi, Hardware, dan Aplikasi. Penerbit Andi: Yogyakarta
   
 
Listing Program Mikrokontroler ================================================================ #include <mega8535.h> // INCLUDE FILE MODUL #include <string.h> #include <delay.h> #include