Anda di halaman 1dari 111

TUGAS AKHIR

PEMANTAU KETINGGIAN BBM GENERATOR OTOMATIS PADA


SUATU BTS MENGGUNAKAN LAYANAN SMS

Diajukan Untuk Memenuhi Salah Satu Syarat


Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro

Oleh:

ALBERTUS DATU SETYOWIDI


NIM : 055114021

PROGRAM STUDI TEKNIK ELEKTRO


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2010

i
FINAL PROJECT

AUTOMATIC BTS GENERATOR FUEL LEVEL MONITORING


USING SMS SERVICE

Presented as Partial Fulfillment of the Requirements


To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program

By :

ALBERTUS DATU SETYOWIDI


NIM : 055114021

ELECTRICAL ENGINEERING STUDY PROGRAM


SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2010

ii
iii
iv
PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya
atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar
pustaka sebagaimana layaknya karya ilmiah.

Yogyakarta, 20 September 2010

ALBERTUS DATU SETYOWIDI

v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

“Prosperity is a great teacher;

adversity is a greater”

Skripsi ini kupersembahkan untuk…

Yesus Kristus Pembimbingku yang setia

Bapak dan Ibu tercinta

Dayu & Jatu saudaraku tersayang

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 :

PEMANTAU KETINGGIAN BBM GENERATOR OTOMATIS PADA SUATU BTS


MENGGUNAKAN LAYANAN SMS

beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada
Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam
bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara
terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis
tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap
mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenarnya.

Yogyakarta, 20 September 2010

( Albertus Datu Setyowidi )

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.

Kata kunci: pemantauan, ketinggian BBM, tangki BTS, SMS.

viii
ABSTRACT

Base Transceiver Station (BTS) are important component in mobile


telecommunications system. BTS is a transceiver that defines a cell and handles the radio
link connection with the Mobile Station (MS). BTS using a generator as a source of
electrical power reserves after the batteries. Generator fuel supply are very important and
should be monitored. Generator fuel monitoring usually done on a regular schedule and
done by their own technicians. In case of base stations located in remote areas that way of
monitoring is inefficient. This study provides remote monitoring solutions in order to
facilitate the technicians in monitoring fuel at BTS.
Fuel level monitoring system at BTS consists of SMS in GSM networks, the
minimum system and PC. SMS messaging is used as a medium that contains a format for
monitoring the of fuel level. Minimum system and PC serves to conduct the monitoring
process when incoming SMS are accepted.
Fuel level monitoring system in BTS using SMS service has been successfully
created and can work well. Monitoring process by sending an SMS can work as well.
Incoming SMS processed properly by the minimum system, so the accuracy level
commands sent to the circumstances that occurred at the fuel tank was appropriate.

Keywords: Monitoring, Fuel level, BTS fuel tanks, SMS

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.

Yogyakarta, 20 September 2010


Peneliti,

Albertus Datu Setyowidi

xi
DAFTAR ISI

HALAMAN JUDUL ................................................................................................ i


HALAMAN PERSETUJUAN ................................................................................. iii
HALAMAN PENGESAHAN ................................................................................... iv
PERNYATAAN KEASLIAN KARYA ................................................................... v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ......................................... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS .................................................. vii
INTISARI ................................................................................................................. viii
ABSTRACT ............................................................................................................. ix
KATA PENGANTAR .............................................................................................. x
DAFTAR ISI ............................................................................................................ xii
DAFTAR GAMBAR ................................................................................................ xv
DAFTAR TABEL .................................................................................................... xvii
BAB I: PENDAHULUAN
1.1. Latar Belakang ......................................................................................... 1
1.2.Tujuan dan Manfaat Penelitian ................................................................. 1
1.3.Batasan Masalah ....................................................................................... 2
1.4.Metodologi Penelitian ............................................................................... 2
1.5.Sistematika Penulisan ................................................................................ 3
BAB II: DASAR TEORI
2.1. Jaringan GSM .......................................................................................... 5
2.1.1. Mobile Station ........................................................................... 5
2.1.2. Base Transceiver Station ........................................................... 6
2.1.3. Billing System............................................................................ 6
2.1.4. Network Switching Subsystem ................................................... 6
2.1.5.Operation Support Subsystem .................................................... 7
2.1.6. Other Network ...............................................................................7
2.1.7. Value Added Service .....................................................................8
2.2. Short Message Service ............................................................................. 8

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

BAB IV: HASIL DAN PEMBAHASAN


4.1. Bentuk Fisik Alat ................................................................................... 37
4.2. Pengujian SMS Pemantauan Ketinggian BBM ....................................... 39
4.2.1. Pengujian SMS Pemantauan Otomatis ........................................... 39
4.2.2. Pengujian SMS Pemantauan Berdasarkan Permintaan user............ 40
4.3. Pengujian Rangkaian Serial (MAX 232) ................................................ 42
4.4. Pengujian Sensor Ultrasonik ................................................................... 44
4.4.1. Pengujian Akurasi Pengukuran Jarak ............................................. 44
4.5. Program PC ........................................................................................... 45
4.5.1. Program PC pada Alat pemantau Ketinggian BBM .................... 45
4.5.1.1. Menu Utama ................................................................. 46
4.5.1.2. Menu Database............................................................... 51
4.5.2. Program PC pada Maintenance Center (PC OMC) ..................... 51
4.5.2.1. Menu Utama ................................................................. 52
4.5.1.2. Menu BTS Dbase ........................................................... 54
4.6. Program Mikrokontroler ........................................................................ 55
4.6.1. Program Pengukur Ketinggian BBM ......................................... 55
4.5.1. Program Pencuplikan Data BBM ............................................... 56
4.7. Pengujian Pola Pancaran Ultrasonik (Beam Pattern) .............................. 57
BAB V: KESIMPULAN DAN SARAN
5.1. Kesimpulan ............................................................................................ 60
5.2. Saran ..................................................................................................... 60
DAFTAR PUSTAKA ............................................................................................... 61
LAMPIRAN .............................................................................................................. 62

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

Tabel 2.1. Keterangan Susunan Pin Konektor Eksternal Siemens C35……………….……..9


Tabel 2.2. Tabel Spesifikasi Sensor Ultrasonik SRF 05…………………………………..12
Tabel 3.1. Penggunaan Port pada Mikrokontroler ATMEGA8535 .................................. 26
Tabel 3.2. Konversi level BBM menjadi variabel 1 karakter............................................ 32
Tabel 3.3. Penggunaan Port pada Mikrokontroler ATMEGA8535 .................................. 26
Tabel 4.1. Hasil Pengujian SMS Pemantauan BBM Otomatis ....................... …………...38
Tabel 4.2. Hasil Pengujian SMS Otomatis Pemantauan Berdasarkan Permintaan User…..40
Tabel 4.3. Hasil Pengujian Rangkaian Serial ................................................................... 41
Tabel 4.4. Hasil Pengujian Akurasi Sensor SRF05 .......................................................... 42
Tabel 4.5. Hasil Pengujian Beam Pattern Sensor SRF05…………………………………56

xvii
BAB I
PENDAHULUAN

1.1 Latar Belakang


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 terdiri
dari perangkat pemancar dan penerima, seperti antena dan pemroses sinyal untuk sebuah
interface. Di BTS inilah terdapat antena yang mentransmisikan gelombang analog yang
dimodulasi digital. BTS terdiri dari beberapa Transceiver dan Receiver (TRx) [1].
BTS menggunakan listrik dari jala-jala sebagai pemasok tenaga listrik utama dan
baterai sebagai cadangan, namun di beberapa BTS juga terdapat generator sebagai sumber
tenaga listrik cadangan kedua setelah baterai. Generator memberikan manfaat yang sangat
besar khususnya pada saat BTS membutuhkan tenaga listrik saat penyalur tenaga listrik
utama dari PLN mati, dan baterai sudah tidak dapat lagi memberikan suplai tegangan.
Generator membutuhkan bahan bakar minyak (BBM) untuk dapat beroperasi. Oleh sebab
itu, pasokan BBM ke generator menjadi sangat penting dan harus diawasi.
Pengawasan BBM generator ini hanya dilakukan secara berkala dan dilakukan sendiri
oleh teknisi. Hal ini menyulitkan teknisi pada kasus BTS yang berada pada daerah
terpencil dan cenderung tidak efisien. Karena itu, dalam tugas akhir ini penulis akan
membuat pemantau ketinggian BBM generator otomatis pada suatu BTS yang pengiriman
datanya berbasis SMS. BTS yang hampir kehabisan BBM dapat disuplai kembali tanpa
harus bolak-balik.

1.2 Tujuan dan Manfaat


Tujuan dari penelitian ini adalah membuat pemantau ketinggian BBM generator
otomatis pada suatu BTS. Manfaat dari perancangan pembuatan alat ini adalah sebagai alat
bantu teknisi operator seluler untuk memantau ketinggian tangki BBM pada sebuah BTS.

1
2

1.3 Batasan Masalah


Batasan masalah dalam penelitian ini adalah :
a. Sensor pengukur ketinggian BBM dalam tangki bahan bakar menggunakan sensor
ultrasonic Devantech SRF05.
b. Ukuran tangki BBM genset dimodelkan dengan pipa paralon dengan diameter 10 cm
dan tinggi 120 cm.
c. Hasil pemantauan yang dikirim adalah 10 tingkatan ketinggian BBM di dalam tangki.
d. Menggunakan mikrokontroler AVR ATMEGA8535
e. Menggunakan bahasa pemrograman Visual Basic pada interface Personal Computer
(PC).
f. Menggunakan telepon seluler (ponsel) sebagai pengirim dan penerima data dengan
fitur Short Message Service (SMS).
g. Menggunakan PC sebagai interface, penerima dan penampil data.
h. Menggunakan Global System for Mobile Communication (GSM) sebagai layanan
jaringan.
i. Menggunakan komunikasi serial RS232 dan MAX232 sebagai driver untuk koneksi
antara PC dengan mikrokontroler.

1.4 Metodologi Penelitian


Penulisan skripsi ini menggunakan metode :
a. Studi pustaka, menggunakan buku – buku referensi dan jurnal – jurnal tentang AVR
ATMEGA8535, SMS Gateway , dan gelombang ultrasonik.
b. Pra penelitian, perhitungan dan analisa kepekaan sensor ultrasonik berdasarkan
program dan pengukuran, serta pengelolaan SMS gateway. Menyiapkan interface dari
piranti ke PC dengan bahasa Visual basic.
c. Perancangan alat yang didasari oleh dasar teori. Perancangan sistem ditunjukkan pada
Gambar 1.1, perancangan PCB, perancangan program mikrokontroler, dan perancangan
program interface PC.
d. Implementasi hasil perancangan ke bentuk hardware dan software. Implementasi
dilakukan dengan pembuatan PCB, pembuatan model tangki, mounting komponen dan
kabel, mengunduh program ke mikrokontroler, serta pembuatan interface pada PC.
3

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.

Gambar 1.1 Gambar Rancangan Infrastruktur Dasar Alat

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.

1.5. Sistematika Penulisan


Sistematika penulisan laporan ini adalah sebagai berikut:

BAB I PENDAHULUAN
Pendahuluan berisi latar belakang masalah, tujuan dan manfaat penelitian,
batasan masalah, metodologi penelitian dan sistematika penulisan.

BAB II DASAR TEORI


Bab ini berisi teori-teori yang mendukung kerja sistem dan teori yang
digunakan dalam perancangan perangkat keras serta perangkat lunak.

BAB III RANCANGAN PENELITIAN


Bab ini berisi penjelasan alur perancangan sistem, format SMS yang
digunakan, perancangan perangkat keras, dan perancangan perangkat lunak.
4

BAB IV HASIL DAN PEMBAHASAN


Bab ini berisi pembahasan program, hasil pengujian alat yang dibuat, dan
pembahasan data yang diperoleh.

BAB V KESIMPULAN DAN SARAN


Bab ini berisi ringkasan hasil penelitian yang telah dilakukan dan usulan
yang berupa ide-ide untuk perbaikan atau pengembangan terhadap
penelitian yang telah dilakukan.
BAB II
DASAR TEORI

2.1 Jaringan GSM


Global System for Mobile communication (GSM) adalah sebuah standar global untuk
komunikasi bergerak digital [1]. GSM adalah nama dari sebuah grup standarisasi yang
dibentuk di Eropa tahun 1982 untuk menciptakan sebuah standar bersama telepon
bergerak selular di Eropa yang beroperasi pada daerah frekuensi 900 MHz. GSM saat ini
banyak digunakan di negara-negara di dunia. Jaringan GSM terbagi dalam beberapa
bagian, yaitu : Mobile Station (MS), Value Added Service (VAS), Billing System, Base
Station Subsystem (BSS), Network Switching Subsystem (NSS), Operating Support
Subsystem (OSS), dan Other Network. Gambar 2.1 merupakan arsitektur umum dari GSM

56K

PCMCIA
SD

INSE RT THIS END

3Com

1 2 3
4 5 6
7 8 9
* 8 #

Gambar 2.1 Arsitektur Umum GSM [1]

2.1.1 Mobile Station


Mobile Station (MS) merupakan terminal yang dipakai oleh pelanggan untuk
melakukan proses komunikasi yang terdiri dari Mobile equipment (ME) dan Subscriber
Identity Module (SIM) card [1]. Nama lain dari MS adalah telepon seluler (ponsel).

5
6

2.1.2 Base Station Subsystem

Base Station Subsystem (BSS) bertanggung jawab untuk pembangunan dan


pemeliharaan hubungan ke MS [1]. BSS mengalokasikan kanal radio untuk suara dan
pesan data, membangun hubungan radio, dan melayani sebagai relay station antara MS dan
MSC. BSS terdiri dari :
a. Base Transceiver Station
Base Transceiver Station (BTS) merupakan transceiver yang membentuk sebuah sel dan
menangani hubungan link radio dengan MS. BTS terdiri dari perangkat pemancar dan
penerima, seperti antena dan pemroses sinyal untuk sebuah interface. Di BTS inilah
terdapat antena yang mentransmisikan gelombang analog yang dimodulasi digital
dipancarkan ke udara. BTS terdiri dari beberapa Transceiver dan Receiver (TRx).
b. Base Station Controller
Base Station Controller (BSC) mengatur sumber radio untuk sebuah BTS atau lebih dan
menangani radio - channel setup, frequency hopping, handover intern BSC , dan lain-lain.
c. Transcoder Controller
Transcoder Controller (TC) digunakan untuk mengontrol dan mengawasi sumber daya
transducer yang digunakan BSC.

2.1.3 Billing System


Billing System yang digunakan pada umumnya meliputi sistem prabayar dan
pascabayar. Prabayar biasanya menggunakan Intelligent Network (IN) untuk charging
baik content (SMS, GPRS, download /non traffic) maupun non content [1].

2.1.4 Network Switching Subsystem


Adapun bagian – bagian dari NSS yaitu [1]:
a. Mobile Switching Center
Mobile Switching Center (MSC) bertugas untuk melakukan fungsi switching dasar,
mengatur BSC melalui A-Interface yaitu jalur antara TC dan BSC, dan sebagai
penghubung antara satu jaringan GSM dengan jaringan lainnya.
7

b. Visitor Location Register


Visitor Location Register (VLR) berisi database sementara dari pelanggan yang diperlukan
oleh MSC untuk melayani pelanggan yang berkunjung dari area lain. VLR selalu
berintegrasi dengan MSC. Setiap MSC terhubung dengan sebuah VLR, tetapi satu VLR
dapat terhubung dengan beberapa MSC.
c. Home Location Register
Home Location Register (HLR) adalah database permanen pelanggan yang digunakan
untuk menyimpan data dan profile pelanggan. HLR dapat disatukan dengan MSC / VLR
atau sebagai HLR yang berdiri sendiri.
d. Authentication Center
Authentication Center (AuC) menyediakan parameter authentikasi pelanggan (seperti Ki,
algorithma A3 atau A8) untuk mengakses jaringan GSM dan encryption yang memeriksa
identitas pemakai dan memastikan kemantapan dari setiap call.
e. Equipment Identity Register
Equipment Identity Register (EIR) merupakan register penyimpan data seluruh MS dan
mencegahnya dari pencurian, ketidakamanan, atau ketidakfungsian MS. EIR ini belum
diterapkan di Indonesia.

Pada bagian NSS ini, MSC berpasangan dengan VLR. Sedangkan HLR berpasangan
dengan AuC dan EIR.

2.1.5 Operation Support Subsystem


Operation Support Subsystem (OSS) menghubungkan jalur dari pendukung operasi
pusat, regional, dan lokal, serta aktifitas yang diinginkan oleh jaringan selular [1]. OSS
merupakan satu kesatuan fungsi dari jaringan monitor operator dan pengontrolan sistem.
OSS dapat dimonitor melalui 2 level fungsi pengontrolan. Pusat kontrol jaringan
melalui instalasi dari Network Management Center (NMC), dengan subordinat Operation
and Maintenance Center (OMC). OSS didesain untuk menghubungkan sistem
pengontrolan yang mendukung beberapa elemen jaringan.

2.1.6 Other Network


Other Network terdiri dari:
8

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.

2.1.7 Value Added Service


Value Added Service (VAS) merupakan layanan tambahan pada GSM yakni :
a. Circuit Switched Data (CSD)
b. Voice Mail Service (VMS)
c. Short Message Service (SMS)
d. Short Message Service Center (SMSC)
e. Ring Back Tones (RBT)

2.2 Short Message Service


Short Message Service (SMS) adalah salah satu fitur yang disediakan dalam
komunikasi seluler berupa pesan pendek yang ditetapkan oleh standar European
Telecommunication Standard Institute (ETSI) pada dokumentasi GSM 3.40 dan GSM 3.38
[2]. SMS adalah data tipe asynchoronous message. Pengiriman data SMS dilakukan
dengan mekanisme protokol store and forward. Hal ini berarti bahwa pengirim dan
penerima SMS tidak harus berada dalam status terhubung (connected / online) satu sama
lain ketika akan saling bertukar pesan SMS. Suatu SMS Center (SMSC) bertanggung
jawab untuk mengirimkan pesan tersebut (forward) ke nomor telepon tujuan.
Keuntungan mekanisme store and forward pada SMS adalah, penerima tidak perlu
dalam status online ketika pengiriman pesan dilakukan. Keterbatasan SMS adalah pada
ukuran pesan yang dapat dikirim yaitu maksimal 160 byte. SMS dikirimkan menggunakan
signalling frame pada kanal frekuensi atau time slot frame GSM yang biasanya digunakan
untuk kontrol dan sinyal setup panggilan telepon.

2.2.1 Short Message Service Center


Suatu SMS dikirim terlebih dahulu ke Short Message Service Center (SMSC)
sebelum dikirim ke ponsel tujuan [3]. Setelah SMSC menerima pesan SMS dari pengirim,
9

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.2 Diagram Blok Cara Kerja SMS [3]

2.3 Ponsel Siemens C35


Ponsel Siemens C35 merupakan ponsel yang memiliki bentuk kecil, ramping, dan
pengoperasian yang tidak terlalu rumit [4]. Gambar ponsel Siemens C35 ditunjukkan pada
Gambar 2.3 (a). Siemens C35 juga memiliki pin konektor eksternal yang dapat
dimanfaatkan untuk pengendalian telepon selular dari luar dengan piranti bantu
mikrokontroler ataupun PC seperti terlihat pada Gambar 2.5(b). Keterangan susunan pin
eksternal Siemens C35 ditunjukkan Tabel 2.1

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].

2.4 Gelombang Ultrasonik


2.4.1 Pengertian Gelombang Ultrasonik
Gelombang ultrasonik merupakan gelombang longitudinal dengan frekuensi di atas
20 kHz yang dapat merambat dalam medium padat, cair, dan gas. Hal ini disebabkan
karena gelombang ultrasonik merupakan rambatan energi dan momentum mekanik [5].
Karakteristik gelombang ultrasonik yang melalui medium mengakibatkan partikel medium
membentuk rapatan (strain) dan tegangan (stress). Proses kontinu yang menyebabkan
terjadinya rapatan dan regangan di dalam medium disebabkan oleh getaran partikel selama
gelombang ultrasonik melalui medium tersebut.

2.4.2 Sensor Ultrasonik


Sensor ultrasonik terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah
speaker ultrasonik, dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal
40 KHz menjadi suara, sedangkan mikropon ultrasonik berfungsi untuk mendeteksi
pantulan suaranya [5]. Sensor ini bekerja berdasarkan prinsip pantulan gelombang suara,
11

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

Gambar 2.4 Prinsip Kerja Sensor Ultrasonik [6]

Gambar 2.5 Sensor Ultrasonik SRF 05 [7]

Gambar 2.6 Beam Pattern Sensor SRF 05 [7]


12

Gambar 2.7 Timing Diagram Sensor Ultrasonik SRF 05 Mode 1 [6]

Tabel 2.2 Tabel Spesifikasi Sensor Ultrasonik SRF 05 [6]

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).

2.5 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 [7]. 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.5.1 Arsitektur dan Konfigurasi Pin ATMega8535


Dalam penelitian ini, mikrokontroler yang digunakan adalah ATMega8535.
Mikrokontroler ini dipilih karena spesifikasi dan fitur yang lengkap [7]. Konfigurasi
lengkap dari pin ATMega8535 dapat dilihat pada Gambar 2.8. Konfigurasi pin dan
arsitektur yang digunakan adalah:

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.

2.5.2 Fitur ATMega8535


Kapabilitas detail dari ATMega8535 adalah sebagai berikut [7]
a. Sistem Mikroposesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
14

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.

Gambar 2.8. Konfigurasi pin ATMega8535 [7]

2.5.3 Sistem Timer ATMega8535


Timer/Counter pada AT Mega 8535 terdiri dari 3 buah. Yaitu Timer/Counter0 (8 bit),
Timer/Counter1 (16 bit), dan Timer/Counter2 (8 bit). Timer/Counter0 memiliki fitur dan
fungsi yang sama sama dengan Timer/Counter2 [7].

2.6 Komunikasi Serial


Komunikasi serial ialah pengiriman data yang dilakukan per bit [8]. Ada dua
macam cara pengiriman (transmisi) data secara serial berdasarkan sinyal clock yang
dipakai dalam pengiriman datanya. Transmisi data serial secara sinkron terjadi jika sinyal
clock dikirimkan besama-sama dengan data serial. Sedangkan dalam transmisi data serial
15

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]

2.6.1 IC MAX 232 dan RS 232


RS-232 merupakan suatu interface yang digunakan untuk menghubungkan antara
terminal data dari suatu device dengan peralatan komunikasi data yang menjalankan
pertukaran data biner secara serial. Serial port RS 232 digunakan sebagai interface dari PC
ke perangkat luar (level TTL), atau sebaliknya. Spesifikasi elektronik dari serial port RS
232 merujuk pada Electronic Industry Association (EIA) [8]:

a. “Space” (logika 0) ialah tegangan antara + 3 hingga +25V.


b. “Mark” (logika 1) ialah tegangan antara –3 hingga –25V.
c. Daerah antara + 3V hingga –3V tidak didefinisikan /tidak terpakai.
d. Tegangan open circuit tidak boleh melebihi 25V.
e. Arus hubungan singkat tidak boleh melebihi 500mA.

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.

Gambar 2.9 Level tegangan RS-232 pada pengiriman huruf ‘A’


tanpa bit paritas [8]
16

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

Gambar 2.10. Konfigurasi Pin IC MAX 232 [10]

2.6.2 Konfigurasi Port Serial DB9


Standar konektor komunikasi serial RS 232 pada PC adalah konektor 9 pin
(konektor DB9). Konfigurasi pin dari RS232 (DB9) dapat dilihat pada Gambar 2.11.
Deskripsi dari pin DB-9 dijelaskan sebagai berikut :
a. Signal Ground (SG) Pin 5 (DB9), SG digunakan sebagai sinyal ground bersama
(common signal ground), dan perlu disambungkan pada setiap masa.
b. Transmit Data (TX) Pin 3 (DB9), TX digunakan sebagai pengirim data dari DTE ke
DCE.

Gambar 2.14. Konfigurasi Pin RS232 (DB9) [10]


17

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].

2.7 . Liquid Crystal Display

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

Gambar 2.12. Display LCD 2x16 Karakter [11]

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.8. SMS Gateway


SMS Gateway adalah sebuah perangkat lunak yang menggunakan bantuan
komputer dan memanfaatkan ponsel [12]. Gambar 2.13 menunjukkan aplikasi teknologi
yang menunjang SMS Gateway agar dapat berfungsi.
Fungsi komputer dan ponsel adalah untuk mengintegrasikan dan mendistribusikan
pesan-pesan yang disatukan melalui sistem informasi yaitu media SMS yang diatasi oleh
jaringan seluler. Secara khusus, sistem ini akan memiliki fungsi-fungsi sebagai berikut:
1. Message Management dan Delivery
Pengaturan pesan yang meliputi manajemen prioritas pesan, manajemen
pengiriman pesan, dan manajemen antrian.
19

2. Korelasi
Berfungsi untuk melakukan korelasi data dengan database lain.
SMS Gateway banyak digunakan dalam berbagai proses bisnis dan usaha.

Gambar 2.13 SMS Gateway [12]

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 :

Gambar 3.1 Diagram Blok Sistem

Secara singkat kerja dari alat ini adalah:


a. Mikrokontroler akan mengirimkan pulsa trigger 10 uS ke input sensor, sensor akan
mengeluarkan gelombang suara 40 kHz melalui speaker ultrasonic, dan menunggu
pantulannya diterima lagi oleh mikropon ultrasonik. Selama menunggu pantulan,
sensor ultrasonik akan menghasilkan sebuah pulsa. Pulsa ini akan berhenti (low) ketika
suara pantulan terdeteksi oleh sensor ultrasonik. Lebar pulsa ini dapat

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.

3.2 Perancangan Subsistem Hardware


3.2.1 Sensor Ketinggian
Sensor ketinggian pada perancangan ini mengunakan sensor ultrasonik SRF 05. SRF
05 adalah range finder sensor yang biasa digunakan untuk mengukur jarak. Pada
perancangan ini, sensor digunakan untuk mengukur ketinggian BBM dengan cara
mengukur jarak antara sensor dengan permukaan BBM. Semakin jauh jarak permukaan
BBM dengan sensor, tingkat ketinggian BBM semakin rendah. Persamaan untuk
menghitung jarak sensor terhadap BBM ada pada persamaan (2.1)
24

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

Pemilihan penggunakan sensor ini dipengaruhi oleh pertimbangan sebagai berikut:


a. Sensor ultrasonik aman digunakan untuk mengukur tingkatan ketinggian BBM. Karena
BBM sangat mudah terpicu api, jika menggunakan sensor jaringan syaraf yang
bersentuhan langsung dengan BBM akan beresiko.
b. Bentuk fisik dari sensor yang kecil sehingga dapat dipasang pada tutup tangki.
c. Output dari sensor SRF 05 sudah berupa pulsa digital, sehingga tidak diperlukan lagi
Analog to Digital Converter (ADC) untuk mengkonversi keluaran sensor ini.
d. Range minimal yang pendek (3 cm), hal ini menunjukkan bahwa sensor mempunyai
respon yang cepat dalam memproses pantulan gelombang.

3.2.2 Model Tangki dan Penempatan Sensor Ultrasonik


Model tangki dan penempatan sensor ultrasonik dalam tangki dapat dilihat pada
Gambar 3.3. Sensor ultrasonik diletakan pada tutup tangki supaya sensor tidak
mengganggu saat proses pengisian BBM karena mudah dilepas. Hal ini juga dilakukan
untuk menghindari kemungkinan sensor terkena BBM yang bisa merusak sensor.

Gambar 3.3 Model Tangki BBM dan Penempatan Sensor Ultrasonik dalam Tangki.
26

3.2.3 Perancangan Interface PC dengan Mikrokontroler


Level tegangan TTL (Transistor-Transistor Logic) dari mikrokontroler harus diubah
ke level tegangan RS232 pada PC. Oleh karena itu, rangkaian komunikasi serial digunakan
seperti pada Gambar 3.3. C1 , C2 , C3 , dan C4 sebesar 1 uF sesuai dengan datasheet
MAX232 [11].

Gambar 3.4 Rangkaian Interface PC dengan Mikrokontroler

3.2.4 Perancangan Minimum System Mikrokontroler


Mikrokontroler ATMEGA 8535 digunakan sebagai pengolah data dari sensor
ketinggian. Fungsi utamanya adalah membandingkan output sensor dengan database pada
mikrokontroler dan mengirimkan perintah SMS ke ponsel. Fungsi port yang digunakan
dalam perancangan dapat dilihat pada tabel 3.1. Gambar 3.6 menunjukkan koneksi antara
mikrokontroler dengan sensor ultrasonik SRF05 dan ponsel C35/M35.
Tabel 3.1. Penggunaan Port pada Mikrokontroler ATMEGA8535

No Port Keterangan
1 Port A.7 Output trigger dan Input echo sensor ultrasonik

2 Port D.0 Input data serial dari PC


3 Port D.1 Output data serial ke PC

4 Port C.0 Output setting RS LCD

5 Port C.1 Output setting E LCD


6 Port C.2 – Port C.5 Output data ke tampilan LCD
27

Gambar 3.6. Rangkaian Minimum System Mikrokontroler

3.2.5 Penggunaan PC Sebagai Pengelola Data di BTS


Penggunaan PC sebagai pengelola data di BTS merupakan hal yang vital pada
perancangan sistem ini, walaupun sebenarnya sistem ini dapat bekerja hanya dengan
mikrokontroler dan ponsel saja. Mikrokontroler bertugas mengawasi ketinggian BBM
secara realtime, pengawasan secara realtime menggunakan proses scanning yang kontinyu
dan membutuhkan memori SRAM besar. Jika mikrokontroler masih harus mengelola data
SMS dengan SRAM yang terbatas yakni hanya 512 Bytes maka hal ini akan menyebabkan
kinerja mikrokontroler menjadi sangat padat dan memungkinkan terjadinya error saat
running program karena proses scanning untuk memisahkan antara nomor pengirim, isi
teks pesan, dan nomor SMSC cukup rumit. Memori ROM pada mikrokontroler juga
sangat terbatas, dalam pra-penelitian memori yang digunakan untuk menampung program
pembacaan ketinggian BBM mencapai 57% dari jumlah total ROM. Mikrokontroler tidak
akan bisa lagi memuat log data SMS yang masuk jika masih harus ditambah program
pembacaan SMS. Penggunaan PC akan membuat mikrokontroler tidak terbebani dengan
proses pembacaan SMS maupun penyimpanan log data SMS. Mikrokontroler dapat fokus
28

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.

3.3. Perancangan Subsistem Software


3.3.1. Diagram Alir dan Algoritma Utama Sistem
Prinsip kerja dasar dari pemantau ketinggian BBM otomatis ini dibagi menjadi 2
sistem utama yaitu :

(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

a. Sistem Alat Pemantau Ketinggian


Sistem alat pemantau ketinggian adalah sistem pemantau ketinggian BBM yang berada
pada BTS, terdiri dari sensor ketinggian, mikrokontroler, PC dan ponsel sebagai media
pengiriman data. Pada awal program, mikrokontroler akan melakukan inisialisasi terhadap
port mikrokontroler dan dilanjutkan dengan pemeriksaan SMS yang masuk. Langkah
program selanjutnya adalah melakukan reset variabel pengukuran sebelumnya, mengukur
ketinggian BBM dalam tangki, lalu melakukan pencuplikan data.
Pencuplikan data adalah membandingkan hasil pengukuran dengan setpoint
ketinggian yang ada pada program. Jika sama, maka sistem akan mengirimkan perintah
kepada PC untuk mengirimkan SMS yang berisi informasi ketinggian BBM ke sistem PC
OMC. Algoritma dari sistem pemantau ketinggian ditunjukkan Gambar 3.6 (a).

b. Sistem Monitoring (PC OMC)


Sistem monitoring bertugas untuk menampilkan informasi ketinggian BBM pada BTS,
volume BBM, nama BTS dan letak BTS tersebut berdasarkan SMS yang dikirim sistem
mikrokontroler. Informasi yang dikirimkan oleh sistem pemantau ketinggian hanya berupa
ketinggian BBM, tidak ada informasi berapa volume BBM sesungguhnya, tidak ada
informasi nama dan letak BTS, karena itu informasi dari sistem pemantau ketinggian
tersebut harus dicocokkan dengan informasi BTS yang ada di database PC sehingga
informasi yang ditampilkan lebih lengkap dan akurat. Fungsi lain dari sistem monitoring
adalah mengirimkan SMS perintah pengukuran ketinggian BBM kepada sistem pemantau
ketinggian. Algoritma sistem monitoring ditunjukkan Gambar 3.6. (b).

3.3.2 Sub-Routine Pemeriksaan SMS Masuk


Sub-Routine pemeriksaan SMS masuk berfungsi untuk mengecek apakah SMS yang
diterima berasal dari nomor yang telah ditentukan untuk melakukan pemantauan, juga
untuk melihat apakah format SMS tersebut sudah sesuai dengan format yang telah
ditentukan. Tahap pertama Sub-routine ini adalah mengecek apakah ada SMS yang
masuk. Jika ada, maka sistem akan membaca SMS yang ada pada inbox ponsel dan
menyimpan nomor pengirimnya. Jika tidak, maka sistem akan meneruskannya langsung ke
Sub-routine selanjutnya. Diagram alir dari Sub-routine pemeriksaan SMS masuk
ditunjukkan pada Gambar 3.7.
30

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.

3.3.3 Sub-Routine Pengukuran Ketinggian BBM


Sub-routine pengukuran ketinggian BBM dimulai dengan memberikan pulsa trigger
10 uS dari mikrokontroler, kemudian menunggu hingga input pantulan (echo) dari sensor
ultrasonik datang (berlogika 1/high). Saat echo sudah datang dimulailah penghitungan
(counting) panjang durasi waktu selama pulsa echo berlogika 1/high. Penghitungan
berhenti saat echo dalam logika 0/low.
Jarak dari BBM ke sensor diukur dengan panjang durasi pulsa echo dikalikan dengan
konstanta satuan waktu/siklus mikrokontroler, kemudian hasilnya dibagi 2 berasal dari
Persamaan 2.1. Gambar 3.8 menunjukkan diagram alir Sub-routine pengukuran ketinggian
BBM di dalam tangki.

3.3.4 Sub-Routine Pencuplikan Data dan Kirim Data ke PC


Sub-routine pencuplikan data bertugas untuk membandingkan level BBM yang
diukur oleh sensor dengan 10 level ketinggian BBM (setpoint) untuk dikonversi menjadi
variabel-variabel 1 karakter agar memudahkan proses transfer. Konversi ini juga bertujuan
untuk mengurangi resiko loss data saat transfer. Tabel 3.2 adalah tabel konversi level BBM
menjadi variabel 1 karakter. Gambar 3.9 menunjukkan diagram alir Sub-routine
pencuplikan data.
31

Tabel 3.2 Konversi level BBM menjadi variabel 1 karakter


No Level BBM (%) Variabel yang dikirim ke PC Arti Variabel
1 > 95 q Level BBM =100%
2 90 - 94 w Level BBM =90%
3 80 - 89 e Level BBM =80%
4 70 - 79 r Level BBM =70%
5 60 - 69 t Level BBM =60%
6 50 - 59 y Level BBM =50%
7 40 - 49 u Level BBM =40%
8 30 - 39 i Level BBM =30%
9 20 - 29 o Level BBM =20%
10 < 19 p Level BBM =10%

3.3.5 Sub-Routine Kirim Data via SMS


Sub-routine kirim data via SMS bertugas untuk mengirimkan informasi ketinggian
BBM ke PC OMC maupun ponsel user. Program dimulai dengan mengambil variabel yang
diterima oleh PC dan mengkonversi ulang variabel tersebut menjadi data ketinggian. Data
ketinggian tersebut akan ditampilkan di layar monitor dan dikirimkan ke pihak user/ PC
monitoring di OMC. Sistem pemantauan otomatis akan mengirimkan SMS informasi
ketinggian BBM hanya kepada PC monitoring di OMC. SMS tersebut akan dikirim jika
belum pernah dikirim sebelumnya. Hal ini dilakukan untuk menghindari flooding data pada
sisi penerima.
Jika ada variabel SMS request yang masuk, sistem akan menyisipkan nomor user
yang tercatat ke outbox. Sehingga SMS akan dikirim langsung kepada user. Gambar 3.10
menunjukkan diagram alir Sub-routine kirim data via SMS.

3.3.6 Sub-Routine Baca Pesan


Sub-routine baca pesan bertugas untuk membaca SMS yang masuk,
menguraikannya, mencocokannya dengan database BTS dan mengirimkannya ke layar
monitor PC. Gambar 3.11 menunjukkan diagram alir Sub-routine baca pesan.

3.3.7 Sub-Routine Kirim Pesan


32

Sub-routine baca pesan bertugas untuk mengirimkan SMS perintah pengukuran


ketinggian BBM ke sistem mikrokontroler. Input dari Sub-routine ini berupa nomor ponsel
BTS tujuan dilakukan pengukuran ketinggian BBM ini. Format “CHKXX” akan
dikirimkan ke BTS yang ingin dipantau, “XX” adalah nomor ID BTS. Gambar 3.11
menunjukkan diagram alir Sub-routine kirim pesan.

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

3.3.8 Sub-Routine Database User dan Database BTS


35

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.

Gambar 3.12. Diagram Gambar 3.13. Diagram Gambar 3.14. Diagram


Alir Sub-routine Alir Sub-routine Alir Sub-routine
Kirim Pesan Database user Database BTS
36

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.

4.1. Bentuk Fisik Alat


Alat ini terdiri dari sistem minimum mikrokontroler, regulator tegangan, dan
Rangkaian MAX 232. Bentuk fisik alat secara keseluruhan dapat dilihat pada Gambar 4.1.
Gambar rangkaian secara detail dapat dilihat pada Gambar 4.2. sampai Gambar 4.5.

Gambar 4.1. Bentuk Fisik Alat

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

Gambar 4.2. Rangkaian Sistem Minimum Mikrokontroler

Gambar 4.3. Rangkaian MAX 232

Gambar 4.4 Rangkaian LCD Gambar 4.5 Sensor Ultrasonik SRF05

Gambar 4.6 Model Tabung BBM


39

4.2. Pengujian SMS Pemantauan Ketinggian BBM


Pengujian terhadap SMS pemantauan ketinggian BBM dilakukan untuk mengetahui
apakah alat sudah bekerja dengan baik. Terdiri dari pengujian apakah alat mengirimkan
SMS pada setiap level ketinggian dan pengujian apakah alat bisa mengirimkan SMS setiap
kali ada SMS masuk dari pihak user.

4.2.1 Pengujian SMS Pemantauan Otomatis


Sistem SMS pemantauan otomatis akan bekerja saat hasil proses pembacaan
ketinggian BBM sama dengan setpoint yang telah ditentukan dalam program. Setpoint
program ini terdiri dari 10 level ketinggian BBM yaitu level 10% sampai 100%. Alat hanya
akan mengirim 1 SMS informasi per setpoint ketinggian BBM kepada sistem PC OMC.
Hal ini dilakukan untuk mencegah terjadinya flooding data pada sistem PC OMC, sehingga
tombol reset dibutuhkan untuk membuat variabel SMS yang sudah dikirim menjadi 0 pada
saat mengisi ulang BBM.
Jika ketinggian yang diukur sensor adalah 5 cm (96% dari total tinggi tabung),
kemudian data ketinggian BBM tersebut akan dicuplik dan dikirim ke PC. PC akan
mengirimkan SMS keterangan ketinggian BBM kepada sistem PC OMC dengan format
“BTS01,Fuel Level 100%”.
Kemudian SMS tersebut diterima oleh sistem PC OMC dan dicocokkan dengan
database BTS yang ada pada PC OMC, sehingga dapat ditampilkan informasi tambahan
tentang BTS yang dipantau. Tabel 4.8 menunjukkan hasil pengujian SMS pemantauan
ketinggian BBM otomatis dengan pengambilan data sebanyak 15x.

Tabel 4.1. Hasil Pengujian SMS Pemantauan BBM Otomatis


Rerata Ketinggian
Ketinggian Pembacaan BBM Level
SMS
BBM Ukur Jarak Ukur BBM Layout keterangan FUEL
No. dikirim
Manual Sensor ke Sensor Pada (SMS yang dikirim ke user)
ke OMC
(cm) BBM (cm) LCD
(cm)
1 115 5,04 114,96 95,80% BTS01, Fuel Level at 100% 100
2 110 10,11 109,89 91,66% BTS01, Fuel Level at 90% 90
40

Tabel 4.1. (lanjutan) Hasil Pengujian SMS Pemantauan BBM Otomatis


Rerata Ketinggian
Ketinggian Pembacaan BBM Level
SMS
BBM Ukur Jarak Ukur BBM Layout keterangan FUEL
No. dikirim
Manual Sensor ke Sensor Pada (SMS yang dikirim ke user)
ke OMC
(cm) BBM (cm) LCD
(cm)
3 98 21,89 98,11 81,75% BTS01, Fuel Level at 80% 80
4 90 30,22 89,78 74,81% BTS01, Fuel Level at 70% 70
5 75 44,73 75,27 62,72% BTS01, Fuel Level at 60% 60
6 65 54,49 65,51 54,59% BTS01, Fuel Level at 50% 50
7 55 65,04 54,96 45,80% BTS01, Fuel Level at 40% 40
8 40 79,99 40,01 33,34% BTS01, Fuel Level at 30% 30
BTS01, Fuel Level at 20%,
9 30 90,12 29,88 24,90% 20
Fuel LOW, Please Refill
BTS01, Fuel Level at 10%,
10 20 100,16 19,84 16,53% 10
Fuel LOW,Resupply NOW!

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.

4.2.2 Pengujian SMS Pemantauan Berdasarkan Permintaan User


Pada sistem pemantauan berdasarkan permintaan user, user dapat mengakses
informasi ketinggian BBM pada saat itu juga, sehingga tidak perlu menunggu ketinggian
BBM sama dengan setpoint. Hanya user yang nomornya tercatat pada database yang dapat
mengakses informasi ketinggian BBM pada BTS. User yang nomornya tidak tercatat pada
database tidak diberi ijin untuk mengakses informasi tersebut. Saat alat mendapat SMS
pemantauan dari user, alat ini akan memeriksa apakah format yang dikirimkan user sudah
sesuai dengan format yang ada pada database program. Format SMS yang diterima oleh
41

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.

(a) (b) (c)


Gambar 4.7 Balasan Permintaan Pemantauan untuk User dengan : (a). Nomor Terdaftar di Database dan
Format yang Benar. (b). Nomor Terdaftar di Database tapi Format Salah. (c). Nomor
Tidak Terdaftar di Database.
42

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.

4.3. Pengujian Rangkaian Serial (MAX232)


Komunikasi serial digunakan untuk pertukaran data intruksi dari program PC di
BTS ke rangkaian sistem minimum dan sebaliknya. Pengujian koneksi komunikasi serial
menggunakan hyperterminal.
Program yang ada pada mikrokontroler adalah program pembaca ketinggian BBM.
Proses pencuplikan dan pemberian variabel terhadap data dilakukan sebelum informasi
BBM dikirim ke PC, supaya memudahkan proses pengiriman. Misalnya, ketika ketinggian
BBM = 80%, mikrokontroler akan mengirimkan informasi ini dengan variabel “e” kepada
PC. Di dalam program PC sudah diatur jika keluaran dari serial mikrokontroler adalah “e”,
maka program akan mengirimkan SMS informasi ketinggian BBM = 80%. Sedangkan saat
ada SMS permintaan dari user, PC akan mengirimkan variabel “a” yang berarti ada SMS
masuk ke mikrokontroler.
Contoh pengujian dengan Hyperterminal dapat dilihat pada Gambar 4.8 dibawah
dan hasil pengambilan 10 data dari rangkaian MAX 232 dapat dilihat pada Tabel 4.3. Dari
data pada Tabel 4.3. dapat disimpulkan bahwa komunikasi serial berjalan dengan baik
karena data yang dikirim sudah sesuai dengan flowchart pada bab 3.
43

Tabel 4.3. Hasil Pengujian Rangkaian Serial


Jarak Penghalang dari
No Input ke PC (Hyperterminal) Keterangan
Sensor (cm)
1 <5 q Level BBM 100%
2 6 - 12 w Level BBM 90%
3 13 – 24 e Level BBM 80%
4 25 - 36 r Level BBM 70 %
5 37 - 48 t Level BBM 60%
6 49 - 60 y Level BBM 50%
7 61 - 72 u Level BBM 40%
8 73 - 84 i Level BBM 30%
9 85 - 96 o Level BBM 20%
10 > 97 p Level BBM 10%

Gambar 4.8. Pengujian Rangkaian Serial Menggunakan Hyperterminal


44

4.4. Pengujian Sensor Ultrasonik


Pengujian dibagi menjadi 2 tahap yakni pengujian akurasi pengukuran jarak dan
pengujian pola pancaran gelombang ultrasonik sensor (beam pattern) sebagai tambahan
pada akhir bab ini.

4.4.1 Pengujian Akurasi Pengukuran Jarak


Pengujian ini dilakukan untuk mengetahui keakurasian sensor ultrasonik SRF05
dalam mendeteksi BBM yang berada dalam tabung. Jika tidak akurat, maka dapat
dilakukan kalibrasi dengan mengubah konversi satuan waktu pada program
mikrokontroler sampai informasi ketinggian BBM yang dihasilkan oleh sensor ini memang
benar-benar akurat. Pengujian ini dilakukan dengan cara memasang sensor pada tabung
yang berisi air sebagai representasi BBM. Ketinggian BBM (ukur) diperoleh dari :
Ketinggian BBM (ukur) = Tinggi Tabung (120 cm) – Rerata Jarak Sensor terhadap BBM
Gambar 4.9. menunjukkan contoh pengujian akurasi pengukuran jarak. Pengukuran
sebenarnya menggunakan tabung dan dilakukan tegak lurus terhadap penghalang (sudut
0°). Hasil pengujian dapat dilihat pada Tabel 4.4

Gambar 4.9 Pengujian Sensor Ultrasonik SRF05

Tabel 4.4. Hasil Pengujian Akurasi Sensor SRF05


Ketinggian BBM Rerata Jarak sensor Ketinggian BBM Rerata
No
Ukur Manual (cm) terhadap BBM (cm) Ukur Sensor (cm) Error (%)
1 115 5,04 114,96 0,0347
2 110 10,11 109,89 0,1
45

Tabel 4.4.( lanjutan) Hasil Pengujian Akurasi Sensor SRF05


Ketinggian BBM Rerata Jarak sensor Ketinggian BBM Rerata
No
Ukur Manual (cm) terhadap BBM (cm) Ukur Sensor (cm) Error (%)
3 98
21,89 98,11 0,11224
4 90
30,22 89,78 0,244444
5 75
44,73 75,27 0,36
6 65
54,49 65,51 0,78462
7 55
65,04 54,96 0,072727
8 40
79,99 40,01 0,025
9 30
90,12 29,88 0,4
10 20
100,16 19,84 0,8

Rerata dari error pengukuran yang terjadi dalam pengujian adalah sebagai berikut:

∑    ,


Rerata Error Pengukuran (%) = = = 0,0370 %
∑ 
    

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.

4.5.1 Program PC pada Alat Pemantau Ketinggian BBM


Program PC terdiri dari program untuk menjalankan layout dan database.
Database digunakan untuk merekam SMS yang masuk dan membandingkan data yang
masuk, baik nomor pengirim ataupun format SMS. Sedangkan layout digunakan sebagai
tampilan antarmuka untuk user.
46

4.5.1.1. Menu Utama


Form Main akan muncul ketika pertama kali program dijalankan. Form ini
merupakan menu utama yang terdiri dari jumlah inbox yang masuk, nomor pengirim, isi
SMS, kesalahan yang terjadi (kesalahan nomor/format SMS), dan keterangan serta
indikator ketinggian BBM. Tampilan form Main dapat dilihat pada Gambar 4.10.
Saat tombol Start ditekan, jika ada SMS masuk, maka textbox INBOX akan bernilai
sesuai dengan jumlah SMS yang ada pada ponsel. Karena ada SMS masuk, nomor
pengirim ditampilkan pada textbox SENDER dan isi SMS akan ditampilkan pada textbox
TEXT pada menu utama. Jika nomor pengirim atau isi SMS tidak sesuai database, maka
akan muncul keterangan ACCESS DENIED di sebelah kanan textbox SENDER dan
textbox TEXT. Keterangan mengenai kesalahan nomor atau kesalahan format akan
ditampilkan pada textbox ERROR. Selanjutnya keterangan kesalahan format/nomor pada
textbox ERROR akan dikirimkan ke user seperti tampak pada Gambar 4.7.b dan 4.7.c.
Tampilan Form Main pada saat ada kesalahan nomor akan seperti pada Gambar 4.11.

Gambar 4.10 Form Menu Utama

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.11. Tampilan Form Main Saat Nomor Tidak Terdaftar

Gambar 4.12. Tampilan Form Main Saat Format Salah


48

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

Private Sub Bukaport()


MSComm1.CommPort = 2
MSComm1.Settings = "9600,N,8,1"
MSComm1.InputLen = 1
MSComm1.DTREnable = True
MSComm1.RTSEnable = True
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
End Sub

Gambar 4.14 Subrutin Buka Port Serial

Pengaturan MSComm1.Settings ditentukan dengan baudrate 9600 bps, No Parity,


8 bit per 1 karakter, dan stop bit dalam 1 karakter. Setelah variabel terkirim ke
mikrokontroler dan diproses untuk membaca ketinggian BBM, program menunggu
49

feedback dari mikrokontroler berupa variabel yang merepresentasikan ketinggian BBM.


Variabel tersebut akan diproses oleh program dan keterangan mengenai ketinggian BBM
akan ditampilkan pada form Main. Program untuk mengambil data variabel dapat dilihat
pada Gambar 4.15. Proses selanjutnya adalah mengirim informasi ketinggian BBM ke
user.
Proses pengiriman SMS ketinggian BBM ke user dapat dilihat pada program pada
Gambar 4.16. Ketika PC menerima SMS, nomor pengirim akan disimpan pada textbox
Text2.text. Nomor inilah yang digunakan untuk membalas SMS permintaan dari user.
Sedangkan Text8.text berisi informasi BBM yang akan dikirimkan ke user. Setelah nomor
pengirim dan isi SMS sudah disatukan, program akan melakukan esekusi pengiriman SMS
balasan yang berisi informasi level BBM di BTS tersebut. Balasan dari alat dapat dilihat
pada Gambar 4.7.a. Berdasarkan data-data hasil pengujian di atas dapat disimpulkan
bahwa program berjalan dengan baik sesuai dengan perancangan.

Private Sub MSComm1_OnComm()


Dim in_mikro As String
Select Case MSComm1.CommEvent
Case comEvReceive
in_mikro = MSComm1.Input
Text7.Text = in_mikro ‘ input variabel dari mikrokontroler
If Text7.Text = "q" Then
Text8.Text = "BTS01,Fuel Level at 100%" ‘ text8.text = info level BBM yang dikirim ke user
Text9.Text = "100" ‘ text9.text = info level BBM yang dikirim ke OMC
……………………………
ElseIf Text7.Text = "p" Then
Text8.Text = "BTS01,Fuel Level at 10%,Fuel LOW,Resupply NOW"
Text9.Text = "10"
End If
kirim_sms_auto ‘ jalankan subrutin kirim sms otomatis
Text7.Text = ""
DELETE
Timer1.Enabled = True
End Select
End Sub

Gambar 4.15. Subrutin Untuk Mengambil Data Variabel dari Mikrokontroler


50

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

Gambar 4.16. Subrutin Kirim Informasi BBM ke user (Berdasarkan Permintaan)

Sedangkan proses pengiriman SMS ketinggian BBM secara otomatis ditunjukkan


Gambar 4.17. Proses pengiriman pertama-tama dilakukan dengan membandingkan isi
textbox text9.text yang berisi informasi level BBM dengan setpoint. Jika isi textbox
text9.text sama dengan setpoint, maka program akan memeriksa variabel bantu yang
berfungsi sebagai indikator apakah SMS sudah pernah dikirimkan. Jika variabel tersebut
bernilai 1, maka SMS tidak akan dikirimkan lagi. Program hanya akan mengirimkan SMS
jika variabel tersebut bernilai 0, yang berarti hanya 1x SMS untuk setiap setpoint. Hal ini
dilakukan untuk menghindari SMS flooding pada sisi penerima. Karena itu dibutuhkan
tombol Reset yang berfungsi untuk memberikan variabel sudah terkirim menjadi 0
kembali. Setelah teknisi melakukan pengisian BBM ulang, tombol Reset wajib ditekan agar
program pengirim SMS ketinggian BBM otomatis dapat bekerja kembali. Tombol Exit
digunakan untuk mengakhiri program. Tabel 4.1 menunjukkan hasil pengujian program.
Berdasarkan data-data hasil pengujian di atas dapat disimpulkan bahwa program berjalan
dengan baik sesuai dengan perancangan

Private Sub kirim_sms_auto()


Dim kirim As String
If Text9.Text = "10" Then ‘ Text9.text berisi level BBM pada saat itu
If p = 0 Then
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +
"('+6285729782919','" & Text9.Text & " ')" ‘ nomor tujuan OMC fix
DataEnvironment1.Connection1.Execute kirim, adCmdText
p=1 ‘ p adalah variabel bantu agar sms dikirim 1x saja
End if
Elseif Text9.Text = "20" Then
……………………..

Gambar 4.17. Subrutin Kirim Informasi BBM ke OMC (Otomatis)


51

4.5.1.2 Menu Database


Jika tombol Database ditekan, maka akan muncul form Dbase. Form Dbase
digunakan untuk menambah atau mengurangi database nomor pengirim SMS yang
diijinkan untuk mengakses informasi dari alat. Tujuan dari form ini adalah mempermudah
user saat ingin menambah nomor tanpa perlu mengubah isi program. Tampilan form Dbase
dapat dilihat pada Gambar 4.18.

Gambar 4.18. Tampilan Form Dbase

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.

4.5.2 Program PC pada Maintenance Center (PC OMC)


Program PC pada OMC digunakan untuk memberitahukan informasi ketinggian
BBM pada operator yang sedang berada di maintenance center (OMC). Program ini terdiri
dari program untuk menjalankan layout dan database. Database digunakan untuk merekam
data BTS-BTS yang ada. Jika ada SMS yang masuk, maka nomor pengirim dan format
SMS akan dicocokkan dengan database BTS. Sedangkan layout digunakan sebagai
tampilan antarmuka untuk user.
52

4.5.2.1 Menu Utama


Form Main akan muncul ketika pertama kali program dijalankan. Form ini
sebagian besar sama seperti Main Menu pada program PC sebelumnya. Perbedaan dari
form main menu sebelumnya adalah pada form ini terdapat tambahan informasi BTS
seperti, BTS ID, lokasi BTS, kapasitas tangki BBM, dan isi BBM dalam tangki dalam
satuan liter. Layout form menu utama ditunjukkan Gambar 4.19.

Gambar 4.19. Form Menu Utama PC OMC

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

Gambar 4.21. Tampilan Form Main Saat Format Salah

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

4.5.2.2. Menu BTS Dbase


Saat tombol BTS DBase ditekan, maka akan muncul form Dbase. Form Dbase
digunakan untuk menambah atau mengurangi database BTS. Program ini sama dengan
menu database pada sub bab sebelumnya.

Gambar 4.23. Tampilan Form Menu BTS Dbase


55

Menu Dbase juga berfungsi untuk mengirimkan SMS permintaan pemantauan


ketinggian BBM di suatu BTS selain BTS yang sedang dipantau. Operator dapat memilih
BTS dari database dan menekan tombol Send Request. Program akan mengirimkan SMS
permintaan pemantauan ketinggian BBM ke BTS yang dituju. Layout dari menu ini
ditunjukkan Gambar 4.23. Hal ini menunjukkan bahwa program telah berjalan dengan
baik

4.6. Program Mikrokontroler


Mikrokontroler berfungsi sebagai driver yang menjalankan perintah yang datang
dari PC. Tugas utamanya adalah mengendalikan sensor ultrasonik SRF05 supaya dapat
mengukur ketinggian BBM. Program Mikrokontroler dibagi menjadi 2, program pengukur
ketinggian BBM dan program pencuplikan data dari hasil pengukuran sensor.

4.6.1. Program Pengukur Ketinggian BBM


Program pengukur ketinggian BBM adalah program utama dalam
mikrokontroler ini. Listing program pengukuran ketinggian BBM ditunjukkan Gambar
4.24. Pada awal program ini, mikrokontroler memberikan trigger input selama 14 uS
kepada pin A.7 yang berfungsi sebagai input sensor SRF05. Karena sensor mendapat
trigger, sensor mulai mengirimkan pulsa ultrasonik 40 KHz selama 700 uS.
Setelah itu sensor akan menunggu pulsa pantulan (menunggu pinA.7=1). Jika ternyata
terdeteksi ada penghalang didepan sensor (dalam hal ini permukaan BBM) , maka pantulan
akan datang (pinA.7=1) dan Counter1 mulai menghitung siklus waktunya sampai pantulan
ini habis (pinA.7=0). Jika pinA.7 ini tidak menjadi 0 dalam batas waktu timeout yang
ditentukan yaitu 30 mS (datasheet SRF05), maka program akan memaksa sensor untuk
restart. Tapi jika sebelum timeout pantulan sudah berhenti, maka program akan mengubah
siklus waktu pantulan yang dicatat counter menjadi jarak. Supaya hasil counting menjadi
satuan waktu yang baku, maka siklus waktu pantulan tadi dikalikan dengan konstanta
satuan waktu cacah mikrokontroler per siklus.
Setelah mendapatkan satuan waktu yang baku, kemudian dibagi 2 karena saat
pengukuran, waktu dari gelombang ultrasonik yang dipancarkan sensor ke sampai
penghalang juga ikut dihitung. Selanjutnya hasil pembagian akan dikalikan dengan
konstanta kecepatan suara yaitu 344.24 m/S .
56

Gambar 4.24. Listing Program Pengukur Ketinggian BBM

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.

4.6.2. Program Pencuplikan Data BBM


Error seringkali terjadi pada saat proses pengiriman data serial, hal ini dikarenakan
data yang hilang saat proses pengiriman. Semakin banyak data yang dikirimkan, semakin
57

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.

Gambar 4.25 Listing Program Pencuplikan Data BBM

4.7 Pengujian Pola Pancaran Ultrasonik (Beam Pattern)


Pengujian ini dilakukan untuk mengetahui sudut pemancaran efektif sensor
ultrasonik SRF05 agar dapat bekerja dengan akurasi paling tinggi. Hal ini juga dilakukan
karena sensor akan digunakan pada tabung yang mempunyai ruangan sempit, sehingga
harus dipastikan bahwa sensor bekerja paling baik saat sudutnya tegak lurus (sudut
0°).dengan BBM supaya tidak terjadi kesalahan pengukuran. Pengukuran dilakukan
dengan memasang objek (korek api gas) dengan lebar 2 cm di depan sensor SRF05 dengan
jarak sesuai dengan sudut yang akan diukur seperti ditunjukkan gambar 4.26.
58

Gambar 4.26. Pengujian Beam Pattern Sensor SRF05


Tabel 4.5 Hasil Pengujian Beam Pattern Sensor SRF05
Jarak Sudut Rerata Hasil pengukuran
No. Rerata Error (%)
(cm) pengukuran (°) (cm)
0 10,01 0,10
3 10,11 1,10
1 10 5 10,23 2,30
7 10,48 4,80
10 11,22 1,20
0 30,14 0,46
3 30,89 2,96
2 30 5 32,14 7,13
7 32,75 9,16
10 33,21 10,70
0 60,39 0,65
3 62,35 3,91
3 60
5 63,55 5,91
7 65,56 9,26
0 120,10 0,83
4 120 3 125,21 4,34
5 138,12 15,25

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

Locate 2 , 1 : Lcd "___RESTARTED!___"


Waitms 250
Waitms 250
Waitms 250
Waitms 250
Goto Ultrasonik
Bagus:
Wait 1
Waktu = Counter1
Jarak = Satuanwaktu * Waktu
Jarak = Jarak / 2000
Jarak = Jarak * Kecepatan
Isi = 120 - Jarak
Isi = Isi / 120
Isi = Isi * 100
Cursor Off
Noblink
Karakter = Fusing(jarak , "###.##")
Locate 1 , 7 : Lcd " "
Locate 1 , 7 : Lcd Karakter ; " cm"
Karakter = Fusing(isi , "##.##")
Locate 2 , 7 : Lcd " "
Locate 2 , 7 : Lcd Karakter ; " %"
Waitms 250
End Sub
Sub Sampling()
If Jarak > 110 Then
Print "p"
Waitms 100
Elseif Jarak > 98 Then
Print "o"
L4

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

B. Listing Program PC Pemantau Ketinggian BBM di BTS

a. Main Form Code

Dim q, w, e, r, t, y, u, i, o, p, req As Integer


Private Sub Command3_Click()
q=0
w=0
e=0
r=0
t=0
y=0
u=0
i=0
o=0
p=0
req = 0
End Sub

Private Sub Command1_Click()


On Error Resume Next
Timer1.Enabled = False
MSComm1.PortOpen = False
End
End Sub

Private Sub Command2_Click()


Dim inbox As Integer
DataEnvironment1.rsCommand1.Open
jumlahinbox = DataEnvironment1.rsCommand1.RecordCount
Text1.Text = inbox
Timer1.Enabled = True
Command1.Enabled = True
End Sub

Private Sub Command4_Click()


Dbase.Show
Main.Hide
End Sub

Private Sub Command6_Click()


Command5.Visible = True
End Sub

Private Sub Form_Load()


Skin2.ApplySkin Me.hWnd
L6

Timer2.Interval = 500
Timer2.Enabled = True
End Sub

Private Sub Timer1_Timer()


Dim inbox As Integer
On Error Resume Next
DataEnvironment1.rsCommand1.Open
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

Private Sub Bukaport()


MSComm1.CommPort = 2
MSComm1.Settings = "9600,N,8,1"
MSComm1.InputLen = 1
MSComm1.DTREnable = True
MSComm1.RTSEnable = True
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
End Sub

Private Sub Cek_Nomor()


Dim jmlnomor As Integer
Dim a As String
On Error Resume Next
DataEnvironment2.rsCommand1.Open
jmlnomor = DataEnvironment2.rsCommand1.RecordCount
DataEnvironment2.rsCommand1.MoveFirst
If jmlnomor = 0 Then
Text5.Text = "ERROR"
End If
With DataEnvironment2.rsCommand1
a = !nouser
End With
L7

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

Private Sub Cek_Isi()


On Error Resume Next
Dim b As String
b = "CHK01"
If Text3.Text = b Then
Text6.Text = "ACCESS GRANTED"
Text4.Text = ""
Bukaport
kirim_mikro
kirim_sms_req
DELETE
L8

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

Private Sub MSComm1_OnComm()


Dim in_mikro As String
Select Case MSComm1.CommEvent
Case comEvReceive
in_mikro = MSComm1.Input
Text7.Text = in_mikro
If Text7.Text = "q" Then
Text8.Text = "BTS01,Fuel Level at 100%"
Text9.Text = "100"
indikator
ElseIf Text7.Text = "w" Then
Text8.Text = "BTS01,Fuel Level at 90%"
Text9.Text = "90"
L9

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

kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +


"('+6285729782919','" & Text9.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
p=1
End If
ElseIf Text9.Text = "20" Then
If o = 0 Then
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +
"('+6285729782919','" & Text9.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
o=1
End If
ElseIf Text9.Text = "30" Then
If i = 0 Then
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +
"('+6285729782919','" & Text9.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
i=1
End If
ElseIf Text9.Text = "40" Then
If u = 0 Then
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +
"('+6285729782919','" & Text9.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
u=1
End If
ElseIf Text9.Text = "50" Then
If y = 0 Then
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +
"('+6285729782919','" & Text9.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
y=1
End If
ElseIf Text9.Text = "60" Then
If t = 0 Then
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +
"('+6285729782919','" & Text9.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
t=1
End If
ElseIf Text9.Text = "70" Then
If r = 0 Then
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" +
"('+6285729782919','" & Text9.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
r=1
L11

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

Private Sub Timer2_Timer()


tglabel.Caption = Format(Date, "dd mmmm yyyy")
jamlabel.Caption = Format(Time, "hh:mm:ss")
End Sub

Private Sub indikator()


L12

If Text9.Text = "100" 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 = True
ElseIf Text9.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 Text9.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 Text9.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 Text9.Text = "60" Then
C10.Visible = True
L13

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

2.2. Database Form Code

Private Sub Form_Load()


Skin1.ApplySkin Me.hWnd
End Sub
Private Sub Last_Click()
DataEnvironment2.rsCommand1.MoveLast
Call notelp
End Sub
Private Sub notelp()
With DataEnvironment2.rsCommand1
txtnouser.Text = !nouser
End With
End Sub
Private Sub nex_Click()
DataEnvironment2.rsCommand1.MoveNext
If DataEnvironment2.rsCommand1.EOF Then
DataEnvironment2.rsCommand1.MoveLast
End If
Call notelp
End Sub
Private Sub prev_Click()
DataEnvironment2.rsCommand1.MovePrevious
If DataEnvironment2.rsCommand1.BOF Then
DataEnvironment2.rsCommand1.MoveFirst
End If
Call notelp
End Sub
Private Sub SAVE_Click()
L15

On Error GoTo Finish


DataEnvironment2.rsCommand1.Update
txtnouser.Locked = True
buttonon
SAVE.Enabled = False
ADD.Caption = "ADD"
ADD_Click_Exit:
Exit Sub
Finish:
Dim strMessage As String
Dim errDBError As ADODB.Error
For Each errDBError In DataEnvironment2.Connection1.Errors
strMessage = strMessage & errDBError.Description & vbCrLf
Next
MsgBox strMessage, vbExclamation, "Similar Data"
On Error GoTo 0
End Sub

C. Listing Program Pada PC OMC


3.1. Main Form Code

Private Sub Command1_Click()


Dim inbox As Integer
DataEnvironment1.rsCommand1.Open
jumlahinbox = DataEnvironment1.rsCommand1.RecordCount
Text1.Text = inbox
Timer1.Enabled = True
Command1.Enabled = False
End Sub

Private Sub Command2_Click()


Dbase.Show
Main.Hide
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Skin1.ApplySkin Me.hWnd
End Sub
Private Sub Timer1_Timer()
Dim inbox As Integer
On Error Resume Next
DataEnvironment1.rsCommand1.Open
L16

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

Private Sub Cek_Nomor()


Dim jmlnomor As Integer
Dim a As String
On Error Resume Next
DataEnvironment2.rsCommand1.Open
jmlnomor = DataEnvironment2.rsCommand1.RecordCount
DataEnvironment2.rsCommand1.MoveFirst
If jmlnomor = 0 Then
Text5.Text = "Database"
End If
With DataEnvironment2.rsCommand1
a = !BTSnumb
End With
Do Until (jmlnomor = 0)
If Text2.Text = a Then
Text4.Text = ""
Cek_Isi
Exit Do
Else
Text4.Text = "UNKNOWN BTS"
Text5.Text = ""
jmlnomor = jmlnomor - 1
End If
DataEnvironment2.rsCommand1.MoveNext
If DataEnvironment2.rsCommand1.EOF Then
GoTo done
Else
With DataEnvironment2.rsCommand1
a = !BTSnumb
End With
End If
L17

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

Private Sub Cek_Isi()


On Error Resume Next
Dim y As Single
Dim b, c, d, e As String
b = Text3.Text
y = (b / 100) * 120
If b = "100" Then
Indikator
Text6.Text = y
loclabel.Caption = "d"
Text4.Text = "FUEL LEVEL IS IN SAFE ZONE"
ElseIf b = "90" Then
Indikator
Text6.Text = y
Text4.Text = "FUEL LEVEL IS IN SAFE ZONE"
ElseIf b = "80" Then
Indikator
Text6.Text = y
Text4.Text = "FUEL LEVEL IS IN SAFE ZONE"
ElseIf b = "70" Then
Indikator
Text6.Text = y
Text4.Text = "FUEL LEVEL IS IN SAFE ZONE"
ElseIf b = "60" Then
Indikator
Text6.Text = y
Text4.Text = "FUEL LEVEL IS IN SAFE ZONE"
L18

ElseIf b = "50" Then


Indikator
Text6.Text = y
Text4.Text = "FUEL LEVEL IS IN SAFE ZONE"
ElseIf b = "40" Then
Indikator
Text6.Text = y
Text4.Text = "FUEL LEVEL IS IN SAFE ZONE"
ElseIf b = "30" Then
Indikator
Text6.Text = y
Text4.Text = "FUEL LEVEL IS IN SAFE ZONE"
ElseIf b = "20" Then
Indikator
Text6.Text = y
Text4.Text = "FUEL LEVEL IS LOW, PLEASE RESUPPLY"
ElseIf b = "10" Then
Indikator
Text6.Text = y
Text4.Text = "FUEL LEVEL IS LOW, RESUPPLY NOW!"
Else
Text4.Text = "UNKNOWN FORMAT"
Text5.Text = "FORMAT"
End If
DELETE
Timer1.Enabled = True
End Sub

Private Sub DELETE()


On Error Resume Next
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

Private Sub Indikator()


If Text3.Text = "100" Then
C10.Visible = True
C20.Visible = True
C30.Visible = True
C40.Visible = True
C50.Visible = True
L19

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

3.2. BTS DBase Form Code

Private Sub bck_Click()


Main.Show
Dbase.Hide
End Sub

Private Sub Command1_Click()


kirim_sms_req
End Sub

Private Sub Form_Load()


Skin1.ApplySkin Me.hWnd
End Sub

Private Sub first_Click()


DataEnvironment2.rsCommand1.MoveFirst
Call notelp
End Sub

Private Sub nex_Click()


DataEnvironment2.rsCommand1.MoveNext
If DataEnvironment2.rsCommand1.EOF Then
DataEnvironment2.rsCommand1.MoveLast
End If
Call notelp
End Sub

Private Sub prev_Click()


DataEnvironment2.rsCommand1.MovePrevious
If DataEnvironment2.rsCommand1.BOF Then
DataEnvironment2.rsCommand1.MoveFirst
End If
Call notelp
End Sub
L22

Private Sub last_Click()


DataEnvironment2.rsCommand1.MovePrevious
If DataEnvironment2.rsCommand1.BOF Then
DataEnvironment2.rsCommand1.MoveFirst
End If
Call notelp
End Sub

Private Sub add_Click()


On Error GoTo Finish
If add.Caption = "ADD" Then
buttonoff
add.Caption = "CANCEL"
sav.Enabled = True
txtBTSnumb.Locked = False
txtBTSid.Locked = False
txtBTSlocation.Locked = False
txtBTSenv.Locked = False
DataEnvironment2.rsCommand1.AddNew
Else
DataEnvironment2.rsCommand1.CancelUpdate
txtBTSnumb.Locked = True
txtBTSid.Locked = True
txtBTSlocation.Locked = True
txtBTSenv.Locked = True
buttonon
add.Caption = "ADD"
sav.Enabled = False
DataEnvironment2.rsCommand1.MoveLast
End If
ADD_Click_Exit:
Exit Sub
Finish:
MsgBox "an Error Happened", vbInformation, "Attention!"
On Error GoTo 0
End Sub
Private Sub buttonoff()
first.Enabled = False
prev.Enabled = False
nex.Enabled = False
last.Enabled = False
del.Enabled = False
End Sub
Private Sub buttonon()
first.Enabled = True
L23

prev.Enabled = True
nex.Enabled = True
last.Enabled = True
del.Enabled = True
End Sub

Private Sub del_Click()


On Error GoTo Finish
With DataEnvironment2.rsCommand1
.DELETE
.MoveNext
If .EOF Then
.MovePrevious
If .BOF Then
MsgBox "Data Empty", vbInformation, "Attention!"
buttonoff
End If
End If
End With
DEL_Click_Exit:
Exit Sub
Finish:
MsgBox "Cannot processs data", vbInformation, "Attention!"
On Error GoTo 0
End Sub

Private Sub sav_Click()


On Error GoTo Finish
DataEnvironment2.rsCommand1.Update
txtnouser.Locked = True
buttonon
sav.Enabled = False
add.Caption = "ADD"
ADD_Click_Exit:
Exit Sub
Finish:
Dim strMessage As String
Dim errDBError As ADODB.Error
For Each errDBError In DataEnvironment2.Connection1.Errors
strMessage = strMessage & errDBError.Description & vbCrLf
Next
MsgBox strMessage, vbExclamation, "Similar Data"
On Error GoTo 0
End Sub
Private Sub notelp()
With DataEnvironment2.rsCommand1
L24

txtBTSnumb.Text = !BTSnumb
txtBTSid.Text = !BTSid
txtBTSlocation.Text = !BTSlocation
txtBTSenv.Text = !BTSenv
txtBTSform.Text = !BTSform
End With
End Sub

Private Sub kirim_sms_req()


Dim kirim As String
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" &
txtBTSnumb.Text & "','" & txtBTSform.Text & " ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText
End Sub
L25

Rangkaian Minimum System


L26
L27
L28
L29
L30
L31
L32

Anda mungkin juga menyukai