Oleh:
i
FINAL PROJECT
By :
ii
iii
iv
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya
atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar
pustaka sebagaimana layaknya karya ilmiah.
v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
adversity is a greater”
vi
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Albertus Datu Setyowidi
Nomor Mahasiswa : 055114021
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul :
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.
vii
INTISARI
Base Transceiver Station (BTS) merupakan salah satu komponen penting dalam
suatu sistem telekomunikasi bergerak. BTS merupakan transceiver yang mendefinisikan
sebuah sel dan menangani hubungan link radio dengan Mobile Station (MS). BTS
menggunakan generator sebagai sumber tenaga listrik cadangan kedua setelah baterai.
Pasokan BBM ke generator menjadi sangat penting dan harus diawasi. Pengawasan BBM
generator ini biasanya dilakukan secara berkala dan dilakukan sendiri oleh teknisi. Pada
kasus BTS yang berada pada daerah terpencil hal ini cenderung tidak efisien. Penelitian
ini memberikan solusi pemantauan jarak jauh dalam rangka untuk memudahkan teknisi
dalam memantau BBM pada BTS.
Sistem pemantau ketinggian BBM pada BTS ini terdiri dari SMS pada jaringan
GSM, minimum sistem dan PC. SMS digunakan sebagai media pengiriman pesan yang
berisi format untuk memantau ketinggian BBM. Minimum sistem dan PC berfungsi untuk
melakukan proses pemantauan saat ada SMS masuk.
Sistem pemantau ketinggian BBM pada BTS menggunakan layanan SMS sudah
berhasil dibuat dan dapat bekerja dengan baik. Proses pemantauan dengan mengirimkan
SMS dapat bekerja dengan baik. SMS yang masuk diolah dengan baik oleh minimum
sistem, sehingga tingkat keakurasian perintah yang dikirimkan dengan keadaan yang
terjadi pada tangki BBM sudah sesuai.
viii
ABSTRACT
ix
KATA PENGANTAR
Puji syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala karunia-Nya
sehingga tugas akhir dengan judul “Pemantau Ketinggian BBM Otomatis Pada Suatu
BTS 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. Penelitian ini dapat diselesaikan dengan baik atas bantuan,
gagasan dan dukungan dari berbagai pihak. Oleh karena itu, peneliti ingin mengucapkan
terima kasih kepada:
1. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
2. Bapak Damar Wijaya, S.T., M.T., selaku Dosen Pembimbing yang telah banyak
meluangkan waktu untuk memberikan bimbingan, pengetahuan, diskusi, arahan,
kritik dan saran kepada peneliti sehingga penulisan tugas akhir ini dapat
diselesaikan.
3. Bapak Pius Yozy Merucahyo, M.T. dan Ibu Wiwien Widyastuti, S.T., M.T. selaku
penguji yang telah memberikan kritik dan saran.
4. Bapak dan Ibu Dosen yang telah memberikan semangat, pengetahuan dan
bimbingan kepada peneliti selama kuliah.
5. Bapak dan ibu tercinta, adikku Yustina Dayu Damarjati dan Monica Jatu
Triatmawati, serta semua keluarga yang telah memberikan semangat dan dukungan
dalam penyelesaian tugas akhir ini.
6. Teman-teman seperjuangan: Agustinus M. Agni, Vicimus Bonafide, S.T., Stefanus
Pandu Kuncahyo, Roy Kurniawan, S.T. atas kebersamaan selama ini; Christian
Novianto, S.T., Johfines Wijaya atas diskusi selama ini; dan teman-teman angkatan
2005 untuk kebersamaan dan dukungannya.
7. Semua pihak yang tidak bisa peneliti sebutkan satu-persatu atas bantuan,
bimbingan, kritik dan saran.
x
Peneliti 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.
xi
DAFTAR ISI
xii
2.2.1. Short Message Service Center ......................................................8
2.3. Telepon Seluler Siemens C35 .................................................................. 9
2.4. Gelombang Ultrasonik …………………………………………………… 10
2.4.1.Pengertian Gelombang Ultrasonik ............................................... 10
2.4.2. Sensor Ultrasonik…………………………………………………10
2.5. Mikrokontroler ATMega 8535 ................................................................ 13
2.5.1. Arsitektur dan Konfigurasi Pin ATMEGA8535 ......................... 13
2.5.2. Fitur ATMEGA8535 ................................................................. 14
2.5.3. Sistem Timer ATMEGA8535 .................................................... 14
2.6. Komunikasi Data Serial ........................................................................... 15
2.6.1. IC MAX 232 dan RS 232 ........................................................... 15
2.6.2. Konfigurasi Port Serial DB 9 .................................................... 16
2.7. Liquid Crystal Display ............................................................................. 18
2.8. SMS Gateway ......................................................................................... 19
2.8.1. Gammu…………………………………………………………… 19
2.8.2. XAMPP…………………………………………………………... 20
2.9. Database ................................................................................................. 21
BAB III: RANCANGAN PENELITIAN
3.1. Umum ................................................................................................... 22
3.2. Perancangan Subsistem Hardware .......................................................... 23
3.2.1. Sensor Ketinggian ........................................................................ 23
3.2.2. Model Tangki dan Penempatan Sensor Ultrasonik ......................... 25
3.2.3. Perancangan Interface PC dengan Mikrokontroler ........................ 26
3.2.4. Perancangan Minimum System Mikrokontroler ............................. 26
3.2.4. Penggunaan PC Sebagai Pengelola Data di BTS............................ 27
3.3. Perancangan Subsistem Software ........................................................... 28
3.3.1. Diagram Alir dan Algoritma Utama Sistem .................................. 28
3.3.2. Sub-Routine Pemeriksaan SMS masuk ......................................... 29
3.3.3. Subroutine Pengukuran Ketinggian BBM...................................... 30
3.3.4. Sub-Routine Pencuplikan dan Kirim Data ke PC .......................... 30
3.3.5. Sub-Routine Kirim Data via SMS……………….………………... 31
3.3.6. Sub-Routine Baca Pesan…………………..…..…………………... 31
xiii
3.3.7. Sub-Routine Kirim Pesan……….………………………………... 32
3.3.8. Sub-Routine Database User dan Database BTS……….………... 35
xiv
DAFTAR GAMBAR
Halaman
Gambar 1.1. Gambar Rancangan Infrastruktur Dasar Alat ........................................... 3
Gambar 2.1. Arsitektur Umum GSM........................................................................... 5
Gambar 2.2. Diagram Blok Cara Kerja SMS ............................................................... 9
Gambar 2.3. Siemens C35 ........................................................................................... 9
(a) Bentuk Fisik ...................................................................................... 9
(b) Pin Konektor Eksternal ..................................................................... 9
Gambar 2.4. Prinsip Kerja Sensor Ultrasonik .............................................................. 11
Gambar 2.5. Sensor Ultrasonik SRF 05 ....................................................................... 11
Gambar 2.6. Beam Pattern Sensor SRF 05 .................................................................. 11
Gambar 2.7. Timing Diagram Sensor Ultrasonik SRF 05 Mode 1 ............................... 12
Gambar 2.8. Konfigurasi pin ATMega8535 ................................................................ 14
Gambar 2.9. Level tegangan RS-232 pada pengiriman huruf ‘A’................................. 15
Gambar 2.10. Konfigurasi Pin IC MAX 232 ................................................................. 16
Gambar 2.11. Konfigurasi Pin RS232 (DB9) ................................................................ 16
Gambar 2.12. Display LCD 2x16 Karakter.................................................................... 18
Gambar 2.13. SMS Gateway ......................................................................................... 19
Gambar 3.1. Diagram Blok Sistem .............................................................................. 22
Gambar 3.2. Tingkatan Isi BBM pada Tangki Berdasarkan Jarak ke Sensor ................ 24
Gambar 3.3. Model Tangki BBM dan Penempatan Sensor Ultrasonik dalam Tangki. .. 25
Gambar 3.4. Rangkaian Interface PC dengan Mikrokontroler ..................................... 26
Gambar 3.5. Rangkaian Minimum System Mikrokontroler........................................... 27
Gambar 3.6. Diagram Alir Utama Sistem .................................................................... 28
(a) Diagram Alir Utama Sistem Pemantau Ketinggian…………………... 28
(b) Diagram Alir Utama Sistem Monitoring (PC OMC)…...…………… 28
Gambar 3.7. Diagram Alir Sub-routine Pemeriksaan SMS Masuk ............................... 32
Gambar 3.8. Diagram Alir Sub-routine Pengukuran Ketinggian BBM......................... 32
Gambar 3.9. Diagram Alir Sub-routine Pencuplikan Data dan Kirim Data ke PC ....... 33
Gambar 3.10. Diagram Alir Sub-routine Kirim data via SMS........................................ 34
Gambar 3.11. Diagram Alir Sub-routine Baca Pesan ..................................................... 34
Gambar 3.12. Diagram Alir Sub-routine Kirim Pesan ................................................... 35
xv
Gambar 3.13. Diagram Alir Sub-routine Database User ............................................... 35
Gambar 3.14. Diagram Alir Sub-routine Database BTS ................................................ 35
Gambar 4.1. Bentuk Fisik Alat .................................................................................... 37
Gambar 4.2. Rangkaian Sistem Minimum Mikrokontroler .......................................... 38
Gambar 4.3. Rangkaian MAX 232 .............................................................................. 38
Gambar 4.4. Rangkaian LCD ..................................................................................... 38
Gambar 4.5. Sensor Ultrasonik SRF05 ........................................................................ 38
Gambar 4.6. Model Tabung BBM ............................................................................... 38
Gambar 4.7. Balasan Permintaan Pemantauan untuk User........................................... 41
(a) Nomor Terdaftar di Database dan Format yang Benar....................... 41
(b) Nomor Terdaftar di Database tapi Format Salah ............................... 41
(c) Nomor Tidak Terdaftar di Database. ................................................. 41
Gambar 4.8. Pengujian Rangkaian Serial Menggunakan Hyperterminal ...................... 43
Gambar 4.9. Pengujian Sensor Ultrasonik SRF05………………………………………44
Gambar 4.10. Form Menu Utama……………………………………………… ............ 46
Gambar 4.11. Tampilan Form Main Saat Nomor Tidak Terdaftar ................................. 47
Gambar 4.12. Tampilan Form Main Saat Format Salah ................................................ 47
Gambar 4.13. Tampilan Form Main Saat Nomor Terdaftar dan Format benar ............... 48
Gambar 4.14. Subrutin Buka Port Serial ....................................................................... 48
Gambar 4.15. Subrutin Untuk Mengambil Data Variabel dari Mikrokontroler ............... 49
Gambar 4.16. Subrutin Kirim Informasi BBM ke user (Berdasarkan Permintaan) ......... 50
Gambar 4.17. Subrutin Kirim Informasi BBM ke OMC (Otomatis)……………………. 50
Gambar 4.18. Tampilan Form Dbase ............................................................................ 51
Gambar 4.19. Form Menu Utama PC OMC……………………………………............. 53
Gambar 4.20. Tampilan Form Main PC OMC Saat Nomor Tidak Terdaftar…………… 53
Gambar 4.21. Tampilan Form Main PC OMC Saat Format Salah…………...…………..53
Gambar 4.22. Tampilan Form Main Saat Nomor BTS Terdaftar dan Format Benar ....... 54
Gambar 4.23. Tampilan Form Menu BTS Dbase………………………………………... 54
Gambar 4.24. Listing Program Pengukur Ketinggian BBM…………………………. ..... 56
Gambar 4.25. Listing Program Pencuplikan Data BBM………………………………….57
Gambar 4.26. Pengujian Beam Pattern Sensor SRF05 .................................................. 58
xvi
DAFTAR TABEL
Halaman
xvii
BAB I
PENDAHULUAN
1
2
e. Pengujian alat dan pengambilan data hasil pengujian dilakukan dengan cara membuka
lubang pembuangan saat alat ON, jumlah cairan pada tangki dikurangi sesuai dengan
tingkatan yang ditentukan agar alat bekerja.
f. Analisis data yang didapat dari pengujian alat dilakukan dengan membandingkan hasil
yang diukur oleh sensor dengan keadaan real pada tabung tangki untuk dibahas dan
memeriksa ulang apakah teori yang dipelajari telah terkonfirmasi.
g. Menarik kesimpulan dari hasil analisis untuk menentukan apakah alat sudah bekerja
dengan baik atau tidak.
BAB I PENDAHULUAN
Pendahuluan berisi latar belakang masalah, tujuan dan manfaat penelitian,
batasan masalah, metodologi penelitian dan sistematika penulisan.
56K
PCMCIA
SD
3Com
1 2 3
4 5 6
7 8 9
* 8 #
5
6
Pada bagian NSS ini, MSC berpasangan dengan VLR. Sedangkan HLR berpasangan
dengan AuC dan EIR.
a. Public Line Mobile Network (PLMN), merupakan jaringan untuk operator seluler.
Contoh PLMN adalah : Indosat, Telkomsel, XL, Mobile-8, dan lain lain.
b. Public Service Telephone Network (PSTN), merupakan jaringan pelayanan telepon.
Contoh PSTN adalah: PT. Telkom.
SMSC akan langsung mengirimkan pesan SMS tersebut ke ponsel yang dituju oleh
pengirim.
Pesan SMS yang terkirim atau gagal terkirim dapat diketahui karena peralatan SMSC
tersebut. Pesan SMS tersebut akan terkirim apabila ponsel yang dituju dalam keadaan
aktif, dan ponsel tersebut akan memberikan konfirmasi kepada SMSC yang menyatakan
bahwa pesan SMS tersebut telah diterima. Pesan SMS tersebut akan disimpan pada SMSC
sampai validity period tertentu jika ponsel penerima dalam keadaan tidak aktif. Diagram
blok cara kerja SMS ditunjukkan oleh Gambar 2.2
Gambar 2.3 Siemens C35. (a) Bentuk Fisik, (b) Pin Konektor Eksternal [4]
10
Tabel 2.1. Keterangan Susunan Pin Konektor Eksternal Siemens C35 [5].
seperti ditunjukkan pada Gambar 2.4. Sensor ini menghasilkan gelombang suara yang
kemudian menangkap pantulannya kembali dengan perbedaan waktu sebagai dasar
penginderaan. Perbedaan waktu antara gelombang suara yang dipancarkan dan yang
diterima kembali adalah berbanding lurus dengan jarak atau tinggi objek yang
memantulkannya. Jenis objek yang dapat diindera oleh sensor ini adalah padat, cair, dan
butiran. Beam Pattern Sensor SRF 05 ditunjukkan pada Gambar 2.6, bentuk fisik sensor
ultrasonik SRF 05 ditunjukkan pada Gambar 2.5, dan spesifikasi dari sensor ultrasonik
SRF 05 ditunjukkan Tabel 2.2
Berdasarkan Timing diagram pada Gambar 2.7, terlihat bahwa sensor ultrasonik
hanya akan mengirimkan suara ultrasonik ketika ada pulsa trigger (pulsa logika high
selama 10uS). Suara ultrasonik 8 cycle burst dengan frekuensi sebesar 40KHz akan
dipancarkan selama 200uS. Suara ini akan merambat di udara dengan kecepatan
344.424m/detik, mengenai objek, dan terpantul kembali ke sensor ultrasonik. Selama
menunggu pantulan, sensor ultrasonik akan menghasilkan sebuah pulsa. Pulsa ini akan
berhenti (logika low) ketika suara pantulan terdeteksi oleh sensor ultrasonik. Lebar pulsa
tersebut merepresentasikan jarak antara sensor ultrasonik dengan objek. Selanjutnya untuk
mengukur jarak dilakukan dengan perhitungan sebagai berikut [6]
(2.1)
L = 1/2 . TOF . c
13
dengan L adalah jarak ke objek, TOF adalah waktu pengukuran yang diperoleh, dan c
adalah cepat rambat suara (344.424 m/s). Satu hal yang perlu diperhatikan adalah bahwa
sensor ultrasonik tidak dapat mengukur objek yang permukaannya dapat menyerap suara,
seperti busa atau sound damper lainnya. Pengukuran jarak juga akan kacau jika permukaan
objek bergerigi dengan sudut tajam (meruncing).
a. Pin 10, merupakan pin yang berfungsi sebagai pin masukan catu daya / VCC.
b. Pin 11 dan 31, merupakan pin yang berfungsi sebagai ground.
c. Port D.0 (RXD) dan port D.1 (TXD), merupakan port Universal Asyncronous
Receiver/ Transmitter (USART) yang difungsikan untuk komunikasi serial.
d. Port D (PD0..PD7) dan port A (PA0..PA1), sebagai pin I/O dua arah.
e. Port B.0 dan port B.1, port ini merupakan port I/O dua arah.
f. Pin 9, sebagai pin reset mikrokontroler.
b. Kapabilitas memori Flash 8 Kb, SRAM sebesar 512 byte, dan Electrically Erasable
Programmable Read Only Memory (EEPROM) sebesar 512 byte.
c. ADC internal dengan fidelity 10 bit sebanyak 8 channel.
d. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
e. Enam pilihan mode sleep menghemat penggunaan daya listrik.
secara asinkron, sinyal clock tidak dikirim bersama data serial, rangkaian penerima data
harus membangkitkan sendiri clock pengiriman data serialnya. Piranti yang menggunakan
komunikasi serial dibagi menjadi dua yaitu, Data Terminal Equipment (DTE) berupa PC
dan Data Communication Equipment (DCE) berupa hardware eksternal. [9]
Peralatan yang digunakan menggunakan logika TTL maka sinyal serial port harus
dikonversikan terlebih dahulu ke pulsa TTL sebelum digunakan, dan sebaliknya, sinyal
dari peralatan harus dikonversikan ke logika RS-232 sebelum menjadi input ke serial port.
Konverter yang paling mudah digunakan adalah MAX-232. Di dalam IC ini terdapat
Charge Pump yang akan membangkitkan +10 Volt dan -10 Volt dari sumber +5 Volt
tunggal.
Gambar 2.9 berikut ini adalah contoh level tegangan RS-232 pada pengiriman
huruf ‘A’ dalam format ASCII tanpa bit paritas.
IC MAX 232 mempunyai 16 pin dengan supply tegangan sebesar 5 volt. pin ke-16
digunakan sebagai input tegangan (Vcc), pin ke-15 sebagai Ground (GND). Pin 8 dan 13
digunakan sebagai input RS-232, sedangkan pin 7 dan 14 sebagai output RS-232. Gambar
2.10. menunjukan konfigurasi pin IC MAX 232
c. Receive Data (RX) Pin 2 (DB9), RX digunakan sebagai penghantar data dari DCE ke
DTE.
d. Data Terminal Ready (DTR) Pin 4 (DB9), DTR digunakan oleh DTE memberi sinyal
kepada DCE bahwa ia telah bersedia. DTR perlu diaturkan pada logika tinggi pada
waktu berkomunikasi dengan modem/piranti lain.
e. Data Set Ready Pin (DSR) 6 (DB9), DSR digunakan oleh DCE untuk memberi sinyal
kepada DTE bahwa ia telah bersedia untuk berkomunikasi.
f. Request to Send Pin (RTS) 7 (DB9), RTS dikeluarkan oleh DTE untuk memohon
kebenaran mengirim data. RTS dikawal oleh DTE dan dibaca oleh DCE.
g. Dupleks penuh - sinyal ini dikeluarkan secara terus. Dupleks separuh - sinyal
dikeluarkan hanya apabila ada data untuk dikirim.
h. Clear to Send (CTS) Pin 8 (DB9), CTS digunakan untuk mengeluarkan jawaban
kepada sinyal RTS bila modem/device lain bersedia untuk menerima data. CTS
dikawal oleh DCE dan dibaca oleh DTE.
i. Data Carrier Detect (DCD) Pin 1 (DB9), DCD digunakan oleh DCE untuk
memberitahu DTE supaya bersedia untuk menerima data sewaktu-waktu.
j. Ring Indicator Pin (RI) 9 (DB9), DCE mengeluarkan sinyal kepada RI (ring indicator)
untuk memberitahu DTE bahwa ada pihak luar yang hendak berkomunikasi.
Umumnya tersedia dua port serial pada CPU yaitu COM1 dan COM2. Base
Address COM1 biasanya adalah 1016 (3F8h) dan COM2 biasanya 760 (2F8h) [9].
Liquid Crystal Display (LCD) merupakan suatu alat yang dapat menampilkan
karakter ASCII ataupun karakter lain ke layar dari alat ini. Pada perancangan ini akan
menggunakan LCD 2 x 16 karakter seperti terlihat pada gambar 2.12 yang terdiri dari 16
kolom dan 2 baris karakter. Sehingga jumlah karakter yang dapat ditampilkan secara
bersamaan adalah sebanyak 32 karakter [11].
LCD menggunakan pengiriman data 8-bit dan dibutuhkan 10 jalur data untuk
berhubungan dengan sistem mikrokontroler. Deskripsi pin dari LCD 2 x 16 :
a. DB0 s/d DB7, merupakan jalur data yang dipakai untuk menyalurkan kode ASCII
maupun perintah pengatur LCD.
18
b. Register Select (RS), merupakan pin yang dipakai untuk membedakan jenis data yang
dikirim ke LCD. Jika RS berlogika ‘0’, maka data yang dikirim adalah perintah untuk
mengatur kerja LCD. Jika RS berlogika ‘1’, maka data yang dikirimkan adalah kode
ASCII yang ditampilkan.
c. Read/Write (R/W), merupakan pin yang digunakan untuk mengaktifkan pengiriman
dan pengembalian data ke dan dari LCD. Jika R/W berlogika ‘1’, maka akan diadakan
pengambilan data dari LCD. Jika R/W berlogika ‘0’, maka akan diadakan pengiriman
data ke LCD.
d. Enable (E), merupakan sinyal sinkronisasi. Saat E berubah dari logika ‘1’ ke ‘0’, maka
data di DB0 s/d DB7 akan diterima atau diambil dari port mikrokontroler.
e. Anoda (A) dan Katoda (K), merupakan pin yang digunakan untuk menyalakan Back
Plane Light (BPL) dari layar LCD.
2. Korelasi
Berfungsi untuk melakukan korelasi data dengan database lain.
SMS Gateway banyak digunakan dalam berbagai proses bisnis dan usaha.
2.8.1 Gammu
Gammu merupakan sebuah perangkat lunak yang berfungsi memberikan akses dari
PC ke berbagai macam fungsi perangkat selular yang terkoneksi [13]. Fungsi-fungsi
tersebut adalah mengirim atau menerima SMS, menerima MMS, menyalin atau menulis
phonebook, dan sebagainya.
Beberapa contoh perintah gammu yang digunakan untuk memanggil data – data
jaringan dari cellphone adalah :
1. --identify
Menunjukkan informasi penting data cellphone.
2. --getdisplaystatus
3. --monitor [times]
Menerima status telepon dan menuliskannya secara berkala dalam bentuk standar
4. --getsecuritystatus
Menunjukkan telepon ketika membutuhkan kode keamanan untuk aktif (seperti
PIN, PUK, dan lainnya).
5. --nokiasecuritycode
Mengijinkan user untuk mengetahui kode keamanan dari komputer
6. --setautonetworklogin
20
7. --listnetworks
Menunjukkan nama atau kode jaringan GSM yang dikenal
8. --getgprspoint start [stop]
9. --networkinfo
10. --siemenssatnetmon
11. --siemensnetmonact
12. --siemensnetmonitor test
13. --nokiagetoperatorname
14. --nokiasetoperatorname
2.8.2. XAMPP
XAMPP adalah perangkat lunak bebas yang mendukung banyak sistem operasi dan
merupakan sebuah kompilasi fitur dari beberapa program [14]. XAMPP juga berfungsi
sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP
Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa
pemrograman PHP dan Perl.
Nama XAMPP merupakan singkatan dari:
• X yang artinya Program ini dapat dijalankan dibanyak sistem operasi,
seperti Windows, Linux, Mac OS, dan Solaris.
• A yaitu Apache, merupakan aplikasi web server. Tugas utama Apache adalah
menghasilkan halaman web yang benar kepada user berdasarkan kode PHP
yang dituliskan oleh pembuat halaman web. jika diperlukan juga berdasarkan
kode PHP yang dituliskan,maka dapat saja suatu database diakses terlebih
dahulu (misalnya dalam MySQL) untuk mendukung halaman web yang
dihasilkan.
• M yaitu MySQL, merupakan aplikasi database server. Perkembangannya
disebut SQL yang merupakan kepanjangan dari Structured Query Language.
SQL merupakan bahasa terstruktur yang digunakan untuk mengolah database.
MySQL dapat digunakan untuk membuat dan mengelola database beserta
isinya. Kita dapat memanfaatkan MySQL untuk menambahkan, mengubah,
dan menghapus data yang berada dalam database.
• P yaitu PHP, bahasa pemrograman web. PHP memungkinkan kita untuk
membuat halaman web yang bersifat dinamis. Sistem manajemen basis
21
data yang sering digunakan bersama PHP adalah MySQl. Namun PHP juga
mendukung sistem manajemen database Oracle, Microsoft Access, Interbase,
d-base, PostgreSQL, dan sebagainya.
• P yaitu Perl, bahasa pemrograman.
Bagian-bagian XAMPP yang biasa digunakan pada umumnya adalah sebagai berikut :
1. htdoc adalah folder tempat meletakkan berkas-berkas yang akan dijalankan, seperti
berkas PHP, HTML dan skrip lain.
2. phpMyAdmin merupakan bagian untuk mengelola basis data MySQL yang ada
dikomputer.
3. Kontrol panel yang berfungsi untuk mengelola layanan (service) XAMPP. Seperti
menghentikan (stop) layanan, ataupun memulai (start).
2.9. Database
Database adalah kumpulan informasi yang disimpan di dalam komputer secara
sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk
memperoleh informasi dari database tersebut [15]. Perangkat lunak yang digunakan untuk
mengelola dan memanggil query database disebut database management system (DBMS).
Pada perancangan ini database digunakan untuk menyimpan data user dan data BTS.
BAB III
RANCANGAN PENELITIAN
3.1 UMUM
Perancangan sistem monitoring ketinggian solar dalam tangki akan dibahas di bab
ini. Gambar 3.1 merupakan diagram blok sistem :
22
23
merepresentasikan ketinggian BBM di dalam tangki generator yang berada di BTS dan
mengirimkannya ke mikrokontroler.
b. Mikrokontroler akan mengolah keluaran dari sensor, pada setiap perubahan tingkatan
ketinggian BBM tertentu (ada 10 tingkatan yang sudah di tentukan dalam program),
mikroprosesor akan memberikan perintah kepada PC untuk mengirimkan SMS yang
berisi data ketinggian BBM ke user (PC Operating and Maintenance Center, OMC,
dan ponsel teknisi) melalui jaringan GSM.
c. Data diterima oleh ponsel OMC dan diuraikan oleh PC untuk diolah kembali menjadi
laporan berupa informasi BTS, dan ketinggian BBM di dalam tangki. Data yang
diterima ponsel teknisi hanya berupa ketinggian BBM.
d. Jika OMC dan teknisi ingin mengetahui ketinggian BBM sewaktu-waktu, maka dapat
mengirimkan SMS ke ponsel di BTS yang dituju dengan format yang telah ditentukan.
SMS tersebut akan menjadi perintah untuk mengukur ketinggian BBM pada saat itu
juga. Proses selanjutnya akan sama dengan proses yang telah disebutkan di atas.
Sistem ini terdiri dari dua subsistem, yaitu subsistem hardware (sensor ultrasonik,
mikrokontroler, ponsel GSM tipe Siemens M35, dan C35, kabel RS232) dan subsistem
sofware (PC). Mikrokontroler ATMEGA8535 berfungsi sebagai komponen kontrol semua
sistem kecuali pada sisi PC OMC. Sensor pendeteksi ketinggian solar berupa sensor
ultrasonik SRF-05. Koneksi antara ponsel dengan PC menggunakan kabel komunikasi
serial RS232 dan IC driver MAX 232. Sistem minimum PC yang digunakan: prosesor
Intel Pentium 4 2.6 GHZ, RAM 512 MB, VGA 32 MB, 2 port serial, dan OS Windows XP.
L = ½ . (TOF . c)
L (m) = ½ . (TOF . 344,424 m/s)
Dengan L adalah jarak antara sensor dengan BBM. sedangkan persamaan untuk
menghitung ketinggian BBM berdasarkan jarak adalah seperti berikut:
(3.1)
Ketinggian BBM (cm) = Tinggi Tabung – Jarak Ukur Sensor (cm)
dengan tinggi tabung sebesar 120 cm. Sedangkan untuk mengubah ketinggian menjadi
level BBM dalam persen adalah sebagai berikut:
(3.2)
Level BBM (%) = x 100%
Sensor SRF 05 membutuhkan catu daya sebesar 5V, arus rata-rata 30 mA, dengan
echo ouput level pulsa Transistor Transistor Logic (TTL) yang langsung dapat di proses
tanpa Analog to Digital Converter (ADC). Input yang digunakan untuk trigger minimal
selama 10 uS dalam level pulsa TTL dan speaker ultrasonik memancarkan gelombang
burst selama 700 uS dengan frekuensi 40 kHz untuk mengukur jarak terhadap objek di
depannya. Gambar 3.2 menunjukkan tingkatan ketinggian BBM berdasarkan jarak
terhadap sensor.
Gambar 3.2 Tingkatan Isi BBM pada Tangki Berdasarkan Jarak ke Sensor
25
Gambar 3.3 Model Tangki BBM dan Penempatan Sensor Ultrasonik dalam Tangki.
26
No Port Keterangan
1 Port A.7 Output trigger dan Input echo sensor ultrasonik
digunakan sebagai pembaca ketinggian BBM saja, semua proses pembacaan SMS,
pengiriman SMS, dan penyimpanan log data akan dikerjakan oleh PC. Penggunaan PC
memang memiliki kekurangan yaitu tidak sederhana, karena harus menempatkan PC pada
setiap BTS serta penggunaan daya yang besar. Namun hal ini sepadan dengan apa yang
dapat dilakukan PC pada BTS tersebut.
(a) (b)
Gambar 3.6. Diagram Alir Utama Sistem, (a) Diagram Alir Utama Sistem
Pemantau Ketinggian, (b) Diagram Alir Utama Sistem Monitoring (PC OMC)
29
Tahap kedua dari Sub-routine ini adalah pemeriksaan nomor pengirim, nomor
tersebut dibandingkan dengan nomor yang tercatat pada database. Jika nomor tersebut
tidak ada dalam daftar, maka program akan mengirimkan pemberitahuan bahwa nomor
tersebut tidak diijinkan untuk mengakses sistem. Namun jika nomor ada dalam daftar maka
akan dilanjutkan pemeriksaan format pesan yang diterima. Format pesan untuk perintah
ukur BBM adalah “CHK01”. Jika pesan yang diterima sesuai format tersebut, maka sistem
akan mencatat bahwa ada SMS permintaan, sistem akan mengirimkan variabel “a” ke
mikrokontroler sebagai tanda ada permintaan pemantauan dan meneruskannya ke Sub-
routine selanjutnya. Namun jika format yang dikirimkan tidak sesuai, maka sistem akan
mengirimkan SMS berisi pemberitahuan bahwa format yang dikirimkan salah kepada
pengirim pesan. Pada keadaan ini, walaupun ada SMS permintaan dari user, sistem tidak
akan mencatat adanya permintaan SMS, sistem tidak mengirimkan variabel ke
mikrokontroler karena format yang dikirimkan user salah.
Gambar 3.7. Diagram Alir Sub-routine Gambar 3.8. Diagram Alir Sub-routine
Pemeriksaan SMS Masuk Pengukuran Ketinggian BBM
33
Gambar 3.9 Diagram Alir Sub-routine Pencuplikan Data dan Kirim Data ke PC
34
Gambar 3.10. Diagram Alir Sub-routine Gambar 3.11. Diagram Alir Sub-routine
Kirim data via SMS Baca Pesan
Sistem ini membutuhkan database untuk menyimpan data user, data BTS, menyimpan
SMS yang diterima, dan mengirimkan SMS. Database akan dibuat menggunakan software
Microsoft Access dan software MySQL Server untuk manajemen database. Gambar 3.13.
menunjukkan diagram alir database user pada PC yang berada di BTS. Gambar 3.14
menunjukkan Diagram alir database BTS yang berada di PC OMC.
Untuk menyimpan data user pada sistem pemantau yang berada di BTS, membutuhkan
database tabel nomor user. Tabel nomor user mempunyai field nouser untuk menyimpan
nomor ponsel user yang berhak untuk mengakses sistem pemantauan. Sedangkan pada
sistem PC OMC memerlukan database untuk menyimpan data BTS yang dipantau.
Database di PC OMC berupa tabel BTS, terdiri dari 4 field yakni:
• BTS ID yang berisi ID BTS yang dipantau.
• BTS Number berisi nomor ponsel BTS yang dipantau.
• BTS Location berisi alamat BTS yang dipantau.
• BTS Capacity berisi kapasitas tangki BTS yang dipantau.
Database untuk mengolah SMS untuk membaca dan mengirim SMS dikelola
menggunakan tool software Gammu.
BAB IV
HASIL DAN PEMBAHASAN
Bab ini akan membahas tentang gambar fisik alat yang dibuat, pengujian rangkaian,
pengambilan data, pembahasan tentang data yang diperoleh, dan program yang digunakan,
baik program di PC atau program di mikrokontroler. Data yang diambil ada dua macam
yaitu data utama dan data pendukung. Data utama menunjukkan akurasi SMS yang dikirim
oleh alat yang dibandingkan dengan kejadian yang terjadi pada tabung BBM, sedangkan
data pendukung berisi hasil test sensor ultrasonic.
Keterangan:
1. Rangkaian Sistem Minimum Mikrokontroler 2. Sensor Ultrasonik SRF 05
3. Rangkaian Regulator Tegangan 4. Rangkaian MAX 232
5. Trafo 1A 6. Konektor DB9
7. Rangkaian LCD 8. Tabung BBM
37
38
Hasil dari data yang diambil menunjukkan keakurasian antara SMS yang dikirim
dengan proses yang terjadi. Saat ketinggian BBM sama dengan setpoint, alat akan
mengirimkan data ketinggian BBM sesuai dengan keadaan saat itu. Tabel 4.1.
menunjukkan bahwa perancangan alat sudah sesuai dengan tujuan, batasan masalah, dan
perancangan.
alat adalah “CHK01”. Jika tidak sesuai maka SMS pemberitahuan bahwa format salah
akan dikirimkan kepada user.
Jika format yang diterima benar, secara otomatis program yang berada pada PC di BTS
akan mengirimkan karakter “a“ ke port serial mikrokontroler. Input “a” dari PC menjadi
interupsi yang menghentikan sementara proses yang dikerjakan mikroko ntroler dan
memprioritaskan menjalankan proses pembacaan ketinggian BBM. Data ketinggian BBM
dicuplik, kemudian akan dikirim ke PC untuk mengirimkan informasi ketinggian BBM
melalui SMS kepada user tersebut. Gambar 4.7 menunjukkan balasan permintaan
pemantauan untuk user. Tabel 4.2 menunjukkan hasil pengujian SMS pemantauan
berdasarkan permintaan user.
Dari Tabel 4.2, dapat diketahui bahwa alat mengirimkan informasi ketinggian BBM
hanya jika nomor dari user tersebut terdaftar di database dan format SMS sesuai dengan
database. Hal ini menunjukkan bahwa perancangan alat sudah sesuai dengan tujuan,
batasan masalah, dan perancangan.
Tabel 4.2. Hasil Pengujian SMS Otomatis Pemantauan Berdasarkan Permintaan User
Nomor
Format Respon Cek Respon Cek
No. Terdaftar Balasan ke User
SMS Nomor Format
di Database
ACCESS ACCESS “BTS01, Fuel Level at
1 “CHK01” Ya
GRANTED GRANTED xxx%”
“Access Denied,
ACCESS
Tidak Unauthorized
DENIED
Number”
Selain ACCESS ACCESS “Access Denied,
2 Ya
“CHK01” GRANTED DENIED Wrong Format”
ACCESS “Access Denied,Non
Tidak
DENIED Authorized Number”
Keterangan:
xxx = level ketinggian BBM sesuai keadaan pada saat itu.
Rerata dari error pengukuran yang terjadi dalam pengujian adalah sebagai berikut:
Dari tabel 4.4. didapat rerata error pada pengujian sebesar = 0,0370 %, hal ini
menunjukkan bahwa sensor ultrasonik SRF05 dapat bekerja sesuai dengan program dan
memiliki akurasi yang baik.
4.5. Program PC
Program PC yang digunakan dalam penelitian ini dibagi menjadi 2, yakni program
PC pada sisi alat pemantau ketinggian BBM yang berada di BTS dan Program PC pada sisi
OMC. Sub-bab ini akan memberikan penjelasan dari program PC yang dibuat.
Tampilan Form Main pada saat ada kesalahan format, ditunjukkan pada Gambar
4.12. Jika nomor pengirim dan format SMS sesuai dengan database, alat akan
menjalankan program pembacaan ketinggian BBM. Setelah menjalankan program
pembacaan ketinggian BBM, informasi ketinggian BBM akan muncul di pada textbox
FUEL. Kemudian isi dari textbox FUEL tersebut dikirimkan kepada user melalui SMS.
47
Gambar 4.13 menunjukkan tampilan form Main saat nomor dan format SMS sesuai dengan
database.
Gambar 4.13. Tampilan Form Main Saat Nomor Terdaftar dan Format benar
Ketika nomor dan format SMS sudah sesuai dengan database, maka PC mengirim
perintah yang diwakili oleh variabel “a” ke mikrokontroler. Proses pengiriman perintah
dilakukan melalui kabel serial yang dihubungkan pada COM 2 PC. Port serial dibuka
terlebih dahulu sebelum dilakukan proses pengiriman variabel agar data dapat diterima
mikrokontroler. Proses membuka port serial dilakukan dengan syntax seperti tampak pada
Gambar 4.14
Tombol ADD digunakan untuk menambah database nomor dengan cara menekan
tombol ADD kemudian menuliskan nomor yang ingin dimasukkan dan menekan tombol
SAVE. Database nomor disimpan dalam DataEnvironment 2 pada tabel nouser. Jika user
ingin menghapus nomor, maka user tinggal memilih nomor yang diinginkan dengan
tombol navigasi First, << (prev), >> (next), dan Last kemudian menekan tombol DEL.
Jika tombol First ditekan, maka textbox akan terisi nomor yang pertama kali
disimpan dalam database. Tombol << (prev) digunakan untuk melihat nomor yang telah
disimpan sebelum nomor terakhir. Tombol >> (next) digunakan untuk melihat nomor yang
telah disimpan setelah nomor pertama. Tombol Last digunakan untuk melihat nomor yang
terakhir kali disimpan dalam database. Data hasil pengujian di atas menunjukkan bahwa
program berjalan dengan baik.
Saat tombol Start ditekan, jika ada SMS masuk, maka jumlah textbox INBOX akan
bernilai sesuai dengan jumlah SMS yang ada pada ponsel. Nomor pengirim akan
ditampilkan pada textbox SENDER dan isi SMS akan ditampilkan pada textbox TEXT pada
menu utama. Nomor pengirim akan dibandingkan dengan database. Jika tidak ada pada
database, maka akan muncul keterangan UNKNOWN BTS pada textbox INFO, seperti
ditunjukkan Gambar 4.20. Format SMS juga akan dibandingkan dengan setpoint, format
SMS yang diterima program ini adalah 10 format berupa angka yang menunjukkan level
BBM (10 sampai 100). Jika PC menerima SMS dengan isi selain format tersebut, maka
program tidak akan merespon dengan membalas. Program hanya akan memunculkan
keterangan UNKNOWN FORMAT pada textbox INFO ditunjukkan Gambar 4.21.
.
53
Gambar 4.20 Tampilan Form Main PC OMC Saat Nomor Tidak Terdaftar
Ketika nomor dan format SMS sudah sesuai dengan database, maka PC akan
mencocokkan nomor pengirim dengan database BTS dan menampilkan informasi BTS
tersebut. Informasi tersebut berupa BTS ID yang berisi tentang nomor ID dari BTS yang
dipantau, LOCATION yang menjelaskan alamat BTS, CAPACITY yang menjelaskan
kapasitas maksimum tangki BBM, dan FUEL NOW yang menunjukkan isi BBM dalam
54
satuan liter pada BTS tersebut. Frame Indicator berfungsi menampilkan level ketinggian
BBM. Tombol Exit digunakan untuk mengakhiri program. Gambar 4.22. menunjukkan
Tampilan Form Main saat nomor BTS terdaftar dan format SMS benar. Hal ini
menunjukkan bahwa program berjalan dengan baik sesuai dengan perancangan.
Gambar 4.22. Tampilan Form Main Saat Nomor BTS Terdaftar dan Format Benar
Hasil kali dengan kecepatan suara inilah yang menjadi hasil jarak yang diukur.
Jarak tersebut diubah menjadi level ketinggian menggunakan persamaan :
Ketinggian BBM (ukur) = Tinggi Tabung (120 cm) – Jarak Sensor terhadap BBM.
Hasil pengujian program ini ditunjukkan Tabel 4.4. Berdasarkan Tabel 4.4. dapat
disimpulkan bahwa program pengukur ketinggian BBM ini sudah berjalan dengan baik.
besar resiko data yang hilang saat pengiriman, begitu juga sebaliknya. Program ini
berfungsi untuk menyederhanakan pengiriman data ke PC, karena data yang akan
dikirimkan diubah terlebih dahulu menjadi variabel 1 karakter. Misalnya jika jarak sensor
ke permukaan BBM sebesar 20 cm, maka program ini akan mengirim variabel “q” ke PC.
PC akan mengartikan variabel tersebut menjadi informasi ketinggian BBM. Gambar 4.25.
menunjukkan listing program pencuplikan data BBM . sedangkan data pengujian program
ini ada pada Tabel 4.3. Data hasil pengujian di atas menunjukkan bahwa program
mikrokontroler berjalan dengan baik.
Error % maksimal yang diijinkan dalam pengukuran ini adalah 5%, ini dikarenakan
saat jarak semakin jauh, nilai error juga semakin membesar seiring dengan jauhnya jarak.
Hal ini dapat menyebabkan pembacaan ketinggian BBM menjadi tidak akurat lagi.
59
Dari Tabel 4.4 dapat dilihat bahwa sudut penyimpangan maksimal supaya error-
nya kurang dari 5% adalah 3°. Karena pada jarak ≤ 30 cm, error pada sudut 5,7 dan 10 cm
sudah lebih dari 5% yakni 7,13%, 9,16% dan 10,70%. Tingkat akurasi sensor paling baik
saat posisi sensor tegak lurus terhadap penghalang (sudut 0°). Sehingga dapat disimpulkan
bahwa sensor ini arah pancaran terbaiknya memang tegak lurus terhadap penghalang.
Sehingga sensor ini dapat digunakan dalam tempat sempit seperti tabung.
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil perancangan dan pengamatan serta pengambilan data pada sistem
pemantau ketinggian BBM otomatis pada suatu BTS menggunakan layanan SMS pada
jaringan GSM, dapat diambil kesimpulan:
1. Sistem pemantauan dapat bekerja dengan baik.
2. Sensor bekerja dengan ketelitian yang sangat baik pada sudut 0°, dengan error
akurasi pengukuran kurang dari 5 %.
3. Sudut penyimpangan maksimal dari sensor adalah 3°
4. Proses koneksi antara PC dengan mikrokontroler menggunakan kabel serial dan
visual basic berjalan dengan baik.
5.2. Saran
Untuk pengembangan lebih lanjut ada beberapa saran agar pembuatan alat
selanjutnya yang sejenis dapat berjalan lebih baik:
1. Penambahan alarm atau buzzer saat BBM di BTS berada di bawah zona aman
pada program PC OMC sehingga operator lebih mudah dalam memantau tanpa
harus standby terus menerus di depan monitor.
2. Penambahan fitur pengendalian untuk membuka keran tangki BBM cadangan
pada BTS yang memiliki lebih dari 1 tangki BBM.
60
61
DAFTAR PUSTAKA
[1] Friedhelm Hillebrand., 2002, GSM and UMTS, The Creation of Global Mobile
Communication, John Wiley & Sons, New York.
[2] Putra Sastra, Wiharta, Agus., 2005, Perancangan dan Pembuatan Sistem Kontrol
Dengan Memanfaatkan Layanan SMS Telepon Selular Berbasis Mikrokontroler
AT89C51, Teknik Elektro Universitas Udayana.
[3] Prasetyo dkk., 2008, Mikrokontroler AT89S51 Sebagai Pengendali Pengiriman
Informasi Kebakaran Melalui Telepon Seluler, Universitas Gunadarma.
[4] -----, 2008, Siemens C35 Review, http://www.gsmarena.com/siemens_c35-
reviews.php, diakses 14 november 2009.
[5] Zarkasi, Ahmad., 2009, Analisis Pengaturan Jarak Sensor Ultrasonic dengan
Bahasa Pemrograman C Menggunakan MCU AT89C51,
http://www.electroniclab.com
/index.php?view=article&catid=9%3Alabmikro&id=33%3Aanalisis-pengaturan-
jarak-sensor-ultrasonic-dengan-bahasa-pemrograman-c-menggunakan-mcu-
at89c51&format =pdf&option=com_content&Itemid=11, diakses 16 november
2009.
[6] ----, 2009, SRF05 - Ultra-Sonic Ranger Technical Specification, http://www.robot-
electronics.co.uk/files/srf, diakses 26 november 2009
[7] Wardhana, L., 2006, Mikrokontroler AVR ATMega8535, Penerbit Andi,
Yogyakarta.
[8] -----, 2009, Konsep Komunikasi Serial, http://ocw.gunadarma.ac.id/course/diploma-
three-program/study-program-of-computer-engineering-
d3/interfacing/konsep-komunikasi-serial/view, diakses 26 november 2009.
[9] -----, 2009, Serial Port pada PC, http://elkaubisa.blogspot.com/2008/02/serial-port-
pada-pc.html, diakses 26 november 2009.
[10] -----, 2002, Datasheet MAX232, Texas Instrument.
[11] -----, 2006, LCD, http//en.wikipedia.org/wiki/LCD, Wikipedia
[12] -----,2009 SMS Gateway, http://www.ittelkom.ac.id/library/index.php?view=
62
article&catid=17%3Asistem-komunikasi-bergerak&id=404%3Asms-
gateway&option=com_content&Itemid=15, diakses 14 agustus 2010.
[13] Cihar, Michael, 2003, Gammu, http://wammu.eu/gammu/ diakses 14 agustus 2010
[14] Apache Development Team, 2006, XAMPP,
http://www.apachefriends.org/en/xampp.html. diakses 14 agustus 2010
[15] Ling Liu and Tamer M. Özsu (Eds.) (2009). Encyclopedia of Database Systems,
4100 p. 60 illus. ISBN 978-0-387-49616-0. Table of Content available at
http://refworks.springer.com/mrw/index.php?id=1217
L1
Listing Program
A. Listing Program Mikrokontroler
‘-----------------------------------------------------------------------------------------
$regfile = "m8535.dat"
$crystal = 8000000
$baud = 9600
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E =
Portc.1 , Rs = Portc.0
Declare Sub Ping_nyala()
Declare Sub Sampling()
Dim Waktu As Word , Jarak As Single , Isi As Single , Karakter As String * 16 , Count__ As
Word , Request As Integer , X As Integer
Const Kecepatan = 34.4
Const Satuanwaktu = 1.01
Ping Alias Porta.7
Ping_pin Alias Pina.7
Config Timer1 = Timer , Prescale = 8
Enable Timer1
Enable Interrupts
Stop Timer1
'------------------------------------------------ main Program ---------------------------------------------
Do
X = Inkey()
If X = 97 Then
Ping_nyala
Sampling
Else
Ping_nyala
Sampling
L2
End If
Wait 1
Loop
Sub Ping_nyala()
Ultrasonik:
Cls
Locate 1 , 1 : Lcd "Jarak="
Locate 2 , 1 : Lcd "Fuel ="
Timer1 = 0
Config Porta = Output
Porta.7 = 1
Waitus 14
Porta.7 = 0
Config Pina.7 = Input
Bitwait Pina.7 , Set
Start Timer1
Looping:
If Pina.7 = 0 Then
Stop Timer1
Reset Pina.7
Waitms 10
Goto Bagus
Else
Count__ = Count__ + 1
If Count__ > 30000 Then Goto Gagal
Goto Looping
End If
Gagal:
Count__ = 0
Cls
Locate 1 , 1 : Lcd " SENSOR TIMEOUT "
L3
Waitms 100
Elseif Jarak > 86 Then
Print "i"
Waitms 100
Elseif Jarak > 72 Then
Print "u"
Waitms 100
Elseif Jarak > 60 Then
Print "y"
Waitms 100
Elseif Jarak > 48 Then
Print "t"
Waitms 100
Elseif Jarak > 36 Then
Print "r"
Waitms 100
Elseif Jarak > 24 Then
Print "e"
Waitms 100
Elseif Jarak > 12 Then
Print "w"
Waitms 100
Elseif Jarak < 12 Then
Print "q"
Waitms 100
End If
End Sub
‘-----------------------------------------------------------------------------------------------------------------
L5
Timer2.Interval = 500
Timer2.Enabled = True
End Sub
Do Until (jmlnomor = 0)
If Text2.Text = a Then
Text5.Text = "ACCESS GRANTED"
Cek_Isi
Exit Do
Else
Text5.Text = "ACCESS DENIED"
jmlnomor = jmlnomor - 1
End If
DataEnvironment2.rsCommand1.MoveNext
If DataEnvironment2.rsCommand1.EOF Then
GoTo done
Else
With DataEnvironment2.rsCommand1
a = !nouser
End With
End If
Loop
Exit Sub
done:
With DataEnvironment2.rsCommand1
a = !nouser
End With
If Text2.Text = a Then
Cek_Isi
Else
Text5.Text = "ACCESS DENIED"
Text4.Text = "SENDER NUMBER IS NOT AUTHORIZED"
kirim_salah_nomor
DELETE
DataEnvironment2.rsCommand1.Close
Timer1.Enabled = True
End If
End Sub
Else
Text6.Text = "ACCESS DENIED"
Text4.Text = "WRONG FORMAT "
kirim_salah_format
DELETE
DataEnvironment1.rsCommand1.Close
Timer1.Enabled = True
End If
End Sub
Private Sub kirim_mikro()
DataEnvironment1.rsCommand1.Open
With DataEnvironment1.rsCommand1
Text3.Text = !textdecoded
End With
If Text3.Text = "CHK01" Then
MSComm1.Output = "a"
Else
MSComm1.Output = 0
End If
End Sub
Private Sub kirim_salah_format()
Dim send As String
send = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" &
Text2.Text & "','" & Text4.Text & "')"
DataEnvironment1.Connection1.Execute send, adCmdText
End Sub
Private Sub kirim_salah_nomor()
Dim send As String
send = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" &
Text2.Text & "','" & Text4.Text & "')"
DataEnvironment1.Connection1.Execute send, adCmdText
End Sub
indikator
ElseIf Text7.Text = "e" Then
Text8.Text = "BTS01,Fuel Level at 80%"
Text9.Text = "80"
indikator
ElseIf Text7.Text = "r" Then
Text8.Text = "BTS01,Fuel Level at 70%"
Text9.Text = "70"
indikator
ElseIf Text7.Text = "t" Then
Text8.Text = "BTS01,Fuel Level at 60%"
Text9.Text = "60"
indikator
ElseIf Text7.Text = "y" Then
Text8.Text = "BTS01,Fuel Level at 50%"
Text9.Text = "50"
indikator
ElseIf Text7.Text = "u" Then
Text8.Text = "BTS01,Fuel Level at 40%"
Text9.Text = "40"
indikator
ElseIf Text7.Text = "i" Then
Text8.Text = "BTS01,Fuel Level at 30%"
Text9.Text = "30"
indikator
ElseIf Text7.Text = "o" Then
Text8.Text = "BTS01,Fuel Level at 20%,Fuel LOW,Please Resupply"
Text9.Text = "20"
indikator
ElseIf Text7.Text = "p" Then
Text8.Text = "BTS01,Fuel Level at 10%,Fuel LOW,Resupply NOW"
Text9.Text = "10"
indikator
End If
kirim_sms_auto
Text7.Text = ""
DELETE
Timer1.Enabled = True
End Select
End Sub
Private Sub kirim_sms_auto()
On Error Resume Next
Dim kirim As String
If Text9.Text = "10" Then
If p = 0 Then
L10
End If
ElseIf Text9.Text = "80" Then
If e = 0 Then
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +
"('+6285729782919','" & Text9.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
e=1
End If
ElseIf Text9.Text = "90" Then
If w = 0 Then
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +
"('+6285729782919','" & Text9.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
w=1
End If
ElseIf Text9.Text = "100" Then
If q = 0 Then
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +
"('+6285729782919','" & Text9.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
q=1
End If
End If
End Sub
Private Sub kirim_sms_req()
Dim kirim As String
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" &
Text2.Text & "','" & Text8.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
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
C20.Visible = True
C30.Visible = True
C40.Visible = True
C50.Visible = True
C60.Visible = True
C70.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text9.Text = "50" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = True
C50.Visible = True
C60.Visible = False
C70.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text9.Text = "40" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = True
C50.Visible = False
C60.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text9.Text = "30" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = False
C50.Visible = False
C60.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text9.Text = "20" Then
C10.Visible = True
C20.Visible = True
C30.Visible = False
C40.Visible = False
C50.Visible = False
L14
C60.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text9.Text = "10" Then
C10.Visible = True
C20.Visible = False
C30.Visible = False
C40.Visible = False
C50.Visible = False
C60.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
End If
End Sub
inbox = DataEnvironment1.rsCommand1.RecordCount
Text1.Text = inbox
If inbox = 0 Then
DataEnvironment1.rsCommand1.Close
Else
With DataEnvironment1.rsCommand1
Text2.Text = !SenderNumber
Text3.Text = !textdecoded
End With
Timer1.Enabled = False
Cek_Nomor
DELETE
End If
End Sub
Loop
Exit Sub
done:
With DataEnvironment2.rsCommand1
a = !BTSnumb
b = !BTSid
End With
If Text2.Text = a Then
Cek_Isi
DELETE
Else
Text5.Text = "number"
Text4.Text = "UNKNOWN BTS"
DELETE
DataEnvironment2.rsCommand1.Close
Timer1.Enabled = True
End If
End Sub
C60.Visible = True
C70.Visible = True
C80.Visible = True
C90.Visible = True
C100.Visible = True
ElseIf Text3.Text = "90" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = True
C50.Visible = True
C60.Visible = True
C70.Visible = True
C80.Visible = True
C90.Visible = True
C100.Visible = False
ElseIf Text3.Text = "80" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = True
C50.Visible = True
C60.Visible = True
C70.Visible = True
C80.Visible = True
C90.Visible = False
C100.Visible = False
ElseIf Text3.Text = "70" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = True
C50.Visible = True
C60.Visible = True
C70.Visible = True
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text3.Text = "60" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = True
C50.Visible = True
C60.Visible = True
C70.Visible = False
L20
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text3.Text = "50" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = True
C50.Visible = True
C60.Visible = False
C70.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text3.Text = "40" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = True
C50.Visible = False
C60.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text3.Text = "30" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = False
C50.Visible = False
C60.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text3.Text = "20" Then
C10.Visible = True
C20.Visible = True
C30.Visible = False
C40.Visible = False
C50.Visible = False
C60.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
ElseIf Text3.Text = "10" Then
C10.Visible = True
L21
C20.Visible = False
C30.Visible = False
C40.Visible = False
C50.Visible = False
C60.Visible = False
C80.Visible = False
C90.Visible = False
C100.Visible = False
End If
End Sub
prev.Enabled = True
nex.Enabled = True
last.Enabled = True
del.Enabled = True
End Sub
txtBTSnumb.Text = !BTSnumb
txtBTSid.Text = !BTSid
txtBTSlocation.Text = !BTSlocation
txtBTSenv.Text = !BTSenv
txtBTSform.Text = !BTSform
End With
End Sub