111
i 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

TUGAS AKHIR PEMANTAU KETINGGIAN BBM GENERATOR …

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

i

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

ii

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

iii

iv

v

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya

atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar

pustaka sebagaimana layaknya karya ilmiah.

Yogyakarta, 20 September 2010

ALBERTUS DATU SETYOWIDI

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

“Prosperity is a great teacher;

adversity is a greater”

Skripsi ini kupersembahkan untuk…Skripsi ini kupersembahkan untuk…Skripsi ini kupersembahkan untuk…Skripsi ini kupersembahkan untuk…

Yesus Kristus Pembimbingku yang Yesus Kristus Pembimbingku yang Yesus Kristus Pembimbingku yang Yesus Kristus Pembimbingku yang setiasetiasetiasetia

BapakBapakBapakBapak dan dan dan dan IbuIbuIbuIbu tercintatercintatercintatercinta

Dayu & JatuDayu & JatuDayu & JatuDayu & Jatu saudaraku tersayangsaudaraku tersayangsaudaraku tersayangsaudaraku tersayang

vii

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 )

viii

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.

ix

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

x

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.

xi

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

xii

DAFTAR ISI

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

HALAMAN PERSETUJUAN ................................................................................. iii

HALAMAN PENGESAHAN ................................................................................... iv

PERNYATAAN KEASLIAN KARYA ................................................................... v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ......................................... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS .................................................. vii

INTISARI ................................................................................................................. viii

ABSTRACT ............................................................................................................. ix

KATA PENGANTAR .............................................................................................. x

DAFTAR ISI ............................................................................................................ xii

DAFTAR GAMBAR ................................................................................................ xv

DAFTAR TABEL .................................................................................................... xvii

BAB I: PENDAHULUAN

1.1. Latar Belakang ......................................................................................... 1

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

xiii

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

xiv

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

xv

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

xvi

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

xvii

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

1

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.

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.

5

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

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

Com3

PC

MC

IA

56K

INSERT THIS END

SD

1 2 3

4 5 6

7 8 9

* 8 #

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]

L = 1/2 . TOF . c (2.1)

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.

b. Kapabilitas memori Flash 8 Kb, SRAM sebesar 512 byte, dan

Programmable Read Only Memory

c. ADC internal dengan fidelity

d. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.

e. Enam pilihan mode sleep menghemat penggunaan daya listrik.

Gambar 2

2.5.3 Sistem Timer ATMega8535

Timer/Counter pada AT Mega 8535 terdiri dari 3 buah. Yaitu

Timer/Counter1 (16 bit), dan

fungsi yang sama sama dengan

2.6 Komunikasi Serial

Komunikasi serial ialah pengiriman data yang dilakukan per

macam cara pengiriman (transmisi) data secara serial berdasarkan sinyal

dipakai dalam pengiriman datanya. Transmisi data serial secara sinkron terjadi jika sinyal

clock dikirimkan besama-sama dengan data serial. Sedangkan dalam transmisi data serial

Kapabilitas memori Flash 8 Kb, SRAM sebesar 512 byte, dan Electrically Erasable

Programmable Read Only Memory (EEPROM) sebesar 512 byte.

fidelity 10 bit sebanyak 8 channel.

Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.

menghemat penggunaan daya listrik.

Gambar 2.8. Konfigurasi pin ATMega8535 [7]

Sistem Timer ATMega8535

pada AT Mega 8535 terdiri dari 3 buah. Yaitu Timer/Counter0

(16 bit), dan Timer/Counter2 (8 bit). Timer/Counter0 memiliki fitur dan

fungsi yang sama sama dengan Timer/Counter2 [7].

Komunikasi serial ialah pengiriman data yang dilakukan per bit

macam cara pengiriman (transmisi) data secara serial berdasarkan sinyal

dipakai dalam pengiriman datanya. Transmisi data serial secara sinkron terjadi jika sinyal

sama dengan data serial. Sedangkan dalam transmisi data serial

14

Electrically Erasable

Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.

Timer/Counter0 (8 bit),

memiliki fitur dan

[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

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.

22

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

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:

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:

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

(3.1)

(3.2)

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. 321 ,, CCC , dan 4C 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.

37

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

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

No.

Ketinggian

BBM Ukur

Manual

(cm)

Rerata

Pembacaan

Jarak

Sensor ke

BBM

(cm)

Ketinggian

BBM

Ukur

Sensor

(cm)

Level

BBM

Pada

LCD

Layout keterangan FUEL

(SMS yang dikirim ke user)

SMS

dikirim

ke OMC

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

No.

Ketinggian

BBM Ukur

Manual

(cm)

Rerata

Pembacaan

Jarak

Sensor ke

BBM

(cm)

Ketinggian

BBM

Ukur

Sensor

(cm)

Level

BBM

Pada

LCD

Layout keterangan FUEL

(SMS yang dikirim ke user)

SMS

dikirim

ke OMC

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

9 30 90,12 29,88 24,90% BTS01, Fuel Level at 20%,

Fuel LOW, Please Refill 20

10 20 100,16 19,84 16,53% BTS01, Fuel Level at 10%,

Fuel LOW,Resupply NOW! 10

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

No. Format

SMS

Nomor

Terdaftar

di Database

Respon Cek

Nomor

Respon Cek

Format Balasan ke User

1 “CHK01” Ya ACCESS

GRANTED

ACCESS

GRANTED

“BTS01, Fuel Level at

xxx%”

Tidak ACCESS

DENIED

“Access Denied,

Unauthorized

Number”

2 Selain

“CHK01” Ya

ACCESS

GRANTED

ACCESS

DENIED

“Access Denied,

Wrong Format”

Tidak ACCESS

DENIED

“Access Denied,Non

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

No Jarak Penghalang dari

Sensor (cm) Input ke PC (Hyperterminal) Keterangan

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

No Ketinggian BBM

Ukur Manual (cm)

Rerata Jarak sensor

terhadap BBM (cm)

Ketinggian BBM

Ukur Sensor (cm)

Rerata

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

No Ketinggian BBM

Ukur Manual (cm)

Rerata Jarak sensor

terhadap BBM (cm)

Ketinggian BBM

Ukur Sensor (cm)

Rerata

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.

Gambar 4.15. Subrutin Untuk Mengambil Data Variabel dari Mikrokontroler

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

50

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

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

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

……………………..

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

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

No. Jarak

(cm)

Sudut

pengukuran (°)

Rerata Hasil pengukuran

(cm) Rerata Error (%)

1 10

0 10,01 0,10

3 10,11 1,10

5 10,23 2,30

7 10,48 4,80

10 11,22 1,20

2 30

0 30,14 0,46

3 30,89 2,96

5 32,14 7,13

7 32,75 9,16

10 33,21 10,70

3 60

0 60,39 0,65

3 62,35 3,91

5 63,55 5,91

7 65,56 9,26

4 120

0 120,10 0,83

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.

60

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.

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