Anda di halaman 1dari 204

i

AKUISISI DATA GPS UNTUK PEMANTAUAN JARINGAN


GSM

TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh:

Nama : Dandy Firdaus

NIM : 045114054

PROGRAM STUDI TEKNIK ELEKTRO


JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2008
ii

GPS DATA AQUSITION FOR GSM NETWORK


MONITORING

FINAL PROJECT

Presented as Partial Fulfillment of the Requirements


To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program

By:
Name : Dandy Firdaus
Student Number: 045114054

ELECTRICAL ENGINEERING STUDY PROGRAM


DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2008
iii

LEMBAR PERSETUJUAN

TUGAS AKHIR

AKUISISI DATA GPS UNTUK PEMANTAUAN


JARINGAN GSM

Oleh :
DANDY FIRDAUS
NIM : 045114054

Telah disetujui oleh :

Pembimbing

Damar Widjaja, S.T., M.T. Tanggal: November 2008


iv
v
vi

HALAMAN PERSEMBAHAN DAN MOTTO

H
Hiidduupp bbeerraaw
waall ddaarrii m
miim
mppii,, lleekkaass bbaanngguunn ddaann w
wuujjuuddkkaann m
miim
mppii iittuu

T
Tiiddaakk aaddaa kkeerrjjaa kkeerraass yyaanngg m
meennjjaaddii ssiiaa ssiiaa

YYoouu aarree w
whhaatt ddoo,, yyoouurr lliiffee iiss yyoouurr pprroodduucctt

Kupersembahkan karya tulis ini kepada :

Tuhan Yesus Kristus,


Bapak dan Ibu Tercinta,
Kedua saudaraku Ruby dan Jimmy,
Almamaterku Teknik Elektro USD
vii
viii

INTISARI

Pemantauan jaringan pada jaringan Global System for Mobile


Communications (GSM), dilakukan untuk memantau kualitas jaringan. Pada
sistem pemantauan jaringan, pemetaan kualitas jaringan pada peta digital sangat
diperlukan untuk kebutuhan analisa. Untuk menghasilkan sistem pemantauan
jaringan yang akurat, handal, dan efisien, dibutuhkan sebuah perangkat lunak
yang bisa melakukan akuisisi data posisi dari GPS, dan menggabungkan data
posisi dengan data kualitas jaringan. Sistem pemantauan jaringan yang handal dan
murah dapat menjadi alat bantu bagi para lembaga atau perguruan tinggi untuk
memberikan pengetahuan dan pengalaman praktis bagi mahasiswa dalam
melakukan pengawasan jaringan GSM, sehingga dapat meningkatkan daya saing
lulusan di bidang komunikasi bergerak.
Program akuisisi data GPS untuk implementasi pemantauan jaringan GSM
merupakan program yang bekerja untuk melakukan akuisisi data posisi GPS,
menyimpan data posisi ke dalam database, menggabungkan data posisi dengan
data kualitas jaringan, dan menampilkannya ke dalam titik posisi pada peta
digital. Data posisi yang digunakan adalah data longitude dan latitude dengan
format derajat desimal. Penggabungan data posisi dengan data kualitas jaringan
dilakukan berdasarkan waktu pengambilan data.
Program akuisisi data GPS untuk implementasi pemantauan jaringan GSM
telah diimplementasikan dan dilakukan pengujian untuk mengamati hasil
perancangan. berdasarkan hasil pengujian, program ini telah bekerja dan dapat
menampilkan data kualitas jaringan pada peta digital dengan baik.

Kata kunci : akuisisi data GPS, Pemantauan Jaringan GSM


ix

ABSTRACT

Network monitoring on the Global System for Mobile Communications


(GSM) network, is done to maintain the network quality. For analysis, network
quality mapping on a digital map is needed for the network monitoring system. A
software that are capable to extract positional data from a GPS and combine it
with the network quality data is needed to produce a network monitoring system
that are accurate, reliable, and efficient. A network monitoring system that are
reliable and affordable can be a powerful tool for any education institution,
especially universities, in giving their students with knowledge and practical
experience in conducting a GSM network monitoring, in short, increasing the
competition capabilities of their graduate in the mobile communication field.
The GPS data acquisition software implemented for GSM network
monitoring system is a program with the function to acquire GPS positional data
to store the positional data to the database, to combine the positional data with the
network quality data and to display the combine data on positional points in the
digital map. The positional data used are longitude and latitude using a decimal
degree format. The positional data and network quality data combining process is
based on the time aspect of the data retrieval.
The GPS data acquisition software implemented for GSM network
monitoring system has been implemented and tested to observe any faulty in the
software design. Based on the test results, it can be deduced that the software is
functional and its capability of displaying the network quality data on the digital
map is very good.

Key words: GPS data acquisition, GSM network monitoring system


x

KATA PENGANTAR

Syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala rahmat dan

karunia-Nya sehingga tugas akhir dengan judul “Akuisisi Data GPS Untuk

Pemantauan Jaringan GSM” ini dapat diselesaikan dengan baik.

Selama menulis tugas akhir ini, penulis menyadari bahwa ada begitu banyak

pihak yang telah memberikan bantuan dengan caranya masing-masing, sehingga

tugas akhir ini bisa diselesaikan. Oleh karena itu penulis ingin mengucapkan

terima kasih kepada:

1. Bapak Ir. Greg. Heliarko, SJ., B.ST., MA., M.Sc, selaku dekan fakultas

teknik.

2. Bapak Damar Wijaya, S.T., M.T., selaku dosen pembimbing yang telah

dengan sabar membimbing, memberi semangat dan saran yang membantu

penulis dalam menyelesaikan tulisan ini.

3. Seluruh dosen teknik elektro dan laboran yang telah banyak memberikan

pengetahuan kepada penulis selama kuliah.

4. Kedua orang tua yang tercinta atas doa, kesabaran dan dukungan baik

secara moril ataupun materil.

5. Kedua saudaraku Ruby dan Jimmy atas dukungan dan kekompakan

sebagai saudara.

6. Kelompok GSM Ade, Joe, dan Dedy, terimakasih atas kekompakan,

kerjasama, dan solidaritasnya.


xi

7. Sahabatku semasa kuliah Jhon de Bounce dan Beni. Tetap semangat dan

solid sampai tua!

8. Anak – anak kos Aisyah Welas Asih Eric “bau”, Bawon, Sukhoi, Agung,

Alfa Da Drive, Buser ”cumi”, dan Ny. Jhon “Vivi” Sitmen, Wharton

”selalu terdepan”. Terima kasih atas dukungan dan peralatan yang sering

saya pinjam.

9. Sahabat - sahabatku geng tuduh pecinta khayangan Rian “Tarzan”, Angga

“Bodet”, Bentes “DJ Opes”, Yuyus “Palui”, Endros “Girly”, Agie

“Mustang Liar”, Adi “maskulin”, Yandi ”Pemalas”, Yayan “Laki – Laki

tanggung”, Ale “Residivis”. Terimakasih atas persahabatan kita selama

hidup di perantauan “jogja”.

10. Berbagai pihak yang tidak bisa penulis sebutkan satu-persatu atas bantuan,

dukungan, bimbingan, kritik dan saran.

Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari

sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir

ini sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi

semua pihak. Terima kasih.

Yogyakarta, November 2008

Penulis
xii

DAFTAR GAMBAR

Gambar 1.1 Model sistem ............................................................................. 4

Gambar 2.1. Segmen penyusun GPS ............................................................. 8

Gambar 2.2. Penentuan jarak dengan kode.................................................... 12

Gambar 2.3. Skema jarak ukuran dari pengamat ke satelit pada gelombang

dalam waktu t ........................................................................... 12

Gambar 2.4. Prinsip penentuan posisi GPS ................................................... 15

Gambar 2.5. Sistem koordinat geografi ......................................................... 24

Gambar 2.6. Frekuensi uplink dan downlink pada GSM 900 ......................... 25

Gambar 2.7. Pembagian frekuensi jaringan GSM.......................................... 26

Gambar 2.8. Arsitektur jaringan GSM........................................................... 28

Gambar 2.9. Proses optimisasi ...................................................................... 31

Gambar 2.10. Konfigurasi drivetest MS-receiver .......................................... 34

Gambar 2.11. Proses drivetest dalam mobil pada jaringan GSM ................... 34

Gambar 2.12. konfigurasi sistem drivetest berbasis MS dengan laptop

dan receiver GPS termasuk antenna ....................................... 35

Gambar 2.13. Sistem drivetest berbasis receiver menggunakan GPS internal 36

Gambar 2.14. Pemetaan kuat sinyal .............................................................. 37

Gambar 2.15. Konektor USB tipe A dan tipe B............................................. 38

Gambar 2.16. Berbagai macam konektor USB (dari kiri ke kanan,

micro USB plug,mini USB plug, B-type plug, A-type

receptacle, A-type plug) ......................................................... 38


xiii

Gambar 2.17. IDE pada Visual Basic ............................................................ 41

Gambar 2.18. Hubungan obyek, property, method dan event......................... 43

Gambar 3.1. Algoritma perancangan Position Monitoring........................... 45

Gambar 3.2. Algoritma perancangan Analyzer ............................................. 45

Gambar 3.3. Diagram alir Menu Utama ....................................................... 46

Gambar 3.4. Diagram alir Position Monitoring ............................................ 48

Gambar 3.5. Diagram alir Koneksi............................................................... 49

Gambar 3.6. Diagram alir Akusisi Data Posisi ............................................. 50

Gambar 3.7. Diagram alir Tampilan Real Time ............................................ 51

Gambar 3.8. Diagram alir Penyimpanan Database....................................... 53

Gambar 3.9. Diagram alir Analyzer untuk position monitoring..................... 54

Gambar 3.10. Diagram alir Load Database ................................................... 55

Gambar 3.11. Diagram alir Tampilan Analyzer ............................................. 56

Gambar 3.12. Diagram alir Tracking prosedur.............................................. 57

Gambar 3.13. Diagram alir Tracking Rx Quality ........................................... 58

Gambar 3.14. Diagram alir Tracking Rx Level .............................................. 59

Gambar 3.15. Diagram alir Tracking Tx Level............................................... 60

Gambar 3.16. Diagram alir Normalisasi Peta ................................................ 61

Gambar 3.17. Diagram alir Help ................................................................... 62

Gambar 3.18. Diagram alir About ................................................................. 62

Gambar 3.19. Tampilan Menu Utama ........................................................... 64

Gambar 3.20. Tampilan Position Monitoring ................................................ 65

Gambar 3.21. Tampilan Analyzer.................................................................. 71


xiv

Gambar 3.22. Tampilan About ...................................................................... 74

Gambar 3.23. ER diagram database akusisi data GPS untuk implementasi

pemantauan jaringan GSM...................................................... 75

Gambar 3.24. Relasi antar tabel .................................................................... 76

Gambar 4.1. Struktur program sistem pemantauan posisi .............................. 78

Gambar 4.2. Tampilan Menu Utama ............................................................. 79

Gambar 4.3. Tampilan Position Monitoring .................................................. 80

Gambar 4.4. Tampilan Analyzer. (a) Bagian Main Analyzer. (b) Bagian

Performance Analyzer. (c) Bagian Procedure Analyzer ............ 83

Gambar 4.5. Tampilan Help.......................................................................... 85

Gambar 4.6. Tampilan About ........................................................................ 86

Gambar 4.7. Koneksi antara handset dan PC................................................. 87

Gambar 4.8. Error GPS saat kehilangan sinyal satelit ................................... 88

Gambar 4.9. Position Monitoring pada saat melakukan akusisi data GPS...... 88

Gambar 4.10. Data – data posisi yang tersimpan dalam database.................. 89

Gambar 4.11. Keakuratan tertinggi data GPS ................................................ 89

Gambar 4.12. Keakuratan terendah data GPS................................................ 89

Gambar 4.13. File peta digital pada kotak dialog .......................................... 90

Gambar 4.14. Position Monitoring pada saat menampilkan peta digital

Jlgeo.shp yang tidak memiliki nama jalan............................... 91

Gambar 4.15. Position Monitoring pada saat menampilkan peta digital

Jalangeo3.shp yang memiliki nama jalan ................................ 92


xv

Gambar 4.16. Tampilan peta digital. (a) Setelah diperbesar 1 kali.

(b) Setelah diperbesar 2 kali.................................................... 92

Gambar 4.17. Tampilan nama jalan dengan peta yang diperbesar 4 kali ........ 95

Gambar 4.18. Tampilan peta digital. (a) Setelah diperbesar 3 kali.

(b) Setelah diperkecil 1 kali .................................................... 96

Gambar 4.19. Tampilan peta digital. (a) Sebelum digeser.

(b) Setelah digeser kekanan .................................................... 97

Gambar 4.20. Tampilan peta digital pada saat dilakukan Select..................... 99

Gambar 4.21. Tampilan peta digital. (a) Saat diperbesar 7 kali.

(b) Setelah dikembalikan ke ukuran normal ............................ 100

Gambar 4.22. Tampilan titik posisi pada saat Position Monitoring dilakukan.

(a) .................................................................................... Menggu

nakan peta dengan pergeseran letak koordinat

kecil. (b) Menggunakan peta dengan pergeseran letak

koordinat besar ...................................................................... 101

Gambar 4.23. Kotak dialog pemilih database pada Analyzer........................ 103

Gambar 4.24. Isi penampil position data....................................................... 104

Gambar 4.25. Data posisi pada database....................................................... 105

Gambar 4.26. Isi penampil peta..................................................................... 105

Gambar 4.27. Penampil tracking position ..................................................... 106

Gambar 4.28. Titik posisi yang ditampilkan pada data posisi yang diambil

dalam keadaan diam selama beberapa waktu........................... 107

Gambar 4.29. Jalur titik posisi saat GPS kehilangan sinyal satelit ................. 108
xvi

Gambar 4.30. Position Analyzer saat melakukan identifikasi......................... 109

Gambar 4.31. Isi penampil tracking performance saat menampilkan

Rx Quality .............................................................................. 110

Gambar 4.32. Titik posisi saat data Rx Quality “1”........................................ 110

Gambar 4.33. Isi penampil tracking performance saat menampilkan

Rx Level.................................................................................. 111

Gambar 4.34. Titik posisi saat data Rx Level “-120”..................................... 111

Gambar 4.35. Isi penampil tracking performance saat menampilkan

Tx Level.................................................................................. 112

Gambar 4.36. Titik posisi saat data Tx Level “14” ........................................ 113

Gambar 4.37. Isi penampil tracking prosedur ............................................... 114

Gambar 4.38. Titik posisi saat data events prosedur terjadi Idle .................... 114

Gambar 4.39. Titik posisi saat data events prosedur terjadi Call Setup .......... 115

Gambar 4.40. Titik posisi saat data events prosedur terjadi Handover........... 116

Gambar 4.41. Titik posisi saat data events prosedur terjadi

Location Update..................................................................... 116


xvii

DAFTAR TABEL

Tabel 2.1. Ketelitian dari metode penentuan posisi secara

absolut dan diferensial ..................................................................... 20

Tabel 2.2. Jenis - jenis informasi (sentence ID) ................................................ 22

Tabel 2.3. Spesifikasi GSM 900, GSM 1800 dan GSM 1900 ........................... 27
xviii

DAFTAR ISI

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

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

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

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

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

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

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

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

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

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

DAFTAR GAMBAR........................................................................................ xii

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

DAFTAR ISI ................................................................................................. xviii

BAB I PENDAHULUAN................................................................................. 1

1.1. Latar belakang masalah............................................................................... 1

1.2. Batasan Masalah ......................................................................................... 3

1.3. Tujuan penelitian ....................................................................................... 3

1.4. Manfaat Penelitian ...................................................................................... 3

1.5. Metodologi Penelitian ................................................................................. 4

1.6. Sistematika Penulisan ................................................................................. 5


xix

BAB II DASAR TEORI................................................................................... 7

2.1. Sistem Navigasi GPS .................................................................................. 7

2.1.1 Segmen Penyusun Sistem GPS.................................................................. 7

2.1.1.1. Segmen Satelit ...................................................................................... 7

2.1.1.2. Segmen Sistem Kontrol......................................................................... 8

2.1.1.3. Segmen Pengguna ................................................................................. 9

2.1.2. Sinyal GPS............................................................................................... 10

2.1.2.1. Informasi Jarak...................................................................................... 10

2.1.2.2. Informasi Posisi .................................................................................... 13

2.1.2.2.1. Metode Penentuan Posisi secara Absolut ............................................ 15

2.1.2.2.1. Metode Penentuan Posisi secara Diferensial ....................................... 16

2.1.2.3. Gelombang Pembawa............................................................................ 16

2.1.3. Kesalahan dan Bias Pengamatan .............................................................. 16

2.1.3.1. Kesalahan Orbit .................................................................................... 17

2.1.3.2. Bias Ionosfer ......................................................................................... 17

2.1.3.3. Bias Troposfer....................................................................................... 18

2.1.3.4. Multipath .............................................................................................. 18

2.1.3.5. Cycle Slip ............................................................................................. 18

2.1.3.6. Selective Availability ............................................................................ 19

2.1.3.7. Anti Spoofing........................................................................................ 19

2.1.3.8. Ambiguitas Fase.................................................................................... 19

2.1.4. Ketelitian Posisi GPS ............................................................................... 20

2.1.5. Format data keluaran GPS........................................................................ 21


xx

2.1.6. Sistem koordinat geografi......................................................................... 24

2.2. GSM Overview ........................................................................................... 25

2.2.1. Definisi GSM........................................................................................... 25

2.2.2. Spesifikasi Teknis GSM ........................................................................... 25

2.2.3. Arsitektur jaringan GSM .......................................................................... 27

2.2.3.1. Mobile Station....................................................................................... 28

2.2.3.2. Base Station Sub-system ....................................................................... 29

2.2.3.3. Network Sub-system ............................................................................. 29

2.2.3.4. Operation and Support System .............................................................. 30

2.2.4. Proses Optimisasi Jaringan GSM.............................................................. 30

2.2.5. Prinsip Drivetest....................................................................................... 32

2.2.5.1. Sistem Drivetest berbasis MS................................................................ 33

2.2.5.2. Sistem Drivetest berbasisi Receiver....................................................... 35

2.2.6. Aplikasi GIS Pada Sistem Pengukuran dan Pengawasan Jaringan GSM ... 36

2.3. Universal Serial Bus.................................................................................... 37

2.4. Visual Basic................................................................................................ 40

2.4.1. Definisi Visual Basic................................................................................ 40

2.4.2. Integrated Development Environment (IDE) Visual Basic........................ 41

2.4.3. Property, Method dan Event dalam Visual Basic ...................................... 43

BAB III PERANCANGAN.............................................................................. 44

3.1. Algoritma Perancangan ............................................................................... 44

3.1.1. . Algoritma Perancangan Position Monitoring ......................................... 44

3.1.2. Algoritma Perancangan Analyzer ............................................................. 45


xxi

3.2. Perancangan Diagram Alir Program ............................................................ 45

3.2.1. Diagram Alir Menu Utama....................................................................... 45

3.2.2. Diagram Alir Position Monitoring............................................................ 47

3.2.2.1. Diagram alir Koneksi ............................................................................ 47

3.2.2.2. Diagram alir Akuisisi Data Posisi.......................................................... 49

3.2.2.3. Diagram alir Tampilan Real Time ......................................................... 50

3.2.2.4. Diagram alir Penyimpanan Database ..................................................... 52

3.2.3. Diagram alir Analyzer untuk Position Monitoring ................................... 53

3.2.3.1. Diagram alir Load Database .................................................................. 54

3.2.3.2. Diagram Alir Tampilan Analyzer .......................................................... 55

3.2.3.2.1. Diagram Alir Tracking Prosedur ....................................................... 57

3.2.3.2.2. Diagram Alir Tracking Rx Quality...................................................... 58

3.2.3.2.2. Diagram Alir Tracking Rx Level......................................................... 59

3.2.3.2.3. Diagram Alir Tracking Tx Level ......................................................... 59

3.2.3.3. Diagram Alir Normalisasi Peta.............................................................. 60

3.2.4. Diagram Alir Help ................................................................................... 61

3.2.5. Diagram Alir About ................................................................................. 62

3.3. Tampilan Program ...................................................................................... 62

3.3.1. Tampilan Menu Utama............................................................................. 63

3.3.2. Tampilan Position Monitoring ................................................................. 64

3.3. Tampilan Analyzer untuk Position Monitoring ............................................ 70

3.3.4. Tampilan About........................................................................................ 74

3.4. Perancangan Basis Data .............................................................................. 74


xxii

3.4.1. ER Diagram ........................................................................................... 74

3.4.2. Relasi Antar Tabel ................................................................................... 75

3.5. Perancangan Struktur Data........................................................................ 75

3.5.1. Tabel Time ............................................................................................. 75

3.5.2. Tabel Position.......................................................................................... 76

BAB IV HASIL DAN PEMBAHASAN .......................................................... 78

4.1. Tampilan Program .................................................................................... 78

4.1.1. Tampilan Menu Utama........................................................................... 79

4.1.2. Tampilan Position Monitoring................................................................ 80

4.1.3. Tampilan Analyzer ................................................................................. 82

4.1.4. Tampilan Help ........................................................................................ 84

4.1.5. Tampilan About...................................................................................... 85

4.2. Pengujian Program.................................................................................... 86

4.2.1. Position Monitoring ................................................................................ 86

4.2.1.1. Pengujian Akuisisi Data GPS ............................................................... 87

4.2.1.2. Pengujian Menampilkan Peta .............................................................. 90

4.2.1.3. Pengujian View Option......................................................................... 92

4.2.1.4. Pengujian Menampilkan Titik Posisi pada Peta ....................................101

4.2.2. Pengujian Analyzer .................................................................................103

4.2.2.1. Pengujian Penampil Position Data .......................................................104

4.2.2.2. Pengujian Penampil Peta ......................................................................105

4.2.2.3. Pengujian Penampil Tracking Position .................................................106

4.2.2.4. Pengujian Penampil Tracking Performance..........................................109


xxiii

4.2.2.5. Pengujian Penampil Tracking Prosedur................................................113

BAB V KESIMPULAN DAN SARAN ............................................................117

5.1. Kesimpulan................................................................................................117

5.2. Saran..........................................................................................................118

DAFTAR PUSTAKA.......................................................................................119

LAMPIRAN .....................................................................................................123
xxiv
xxv
BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Peranan peta digital dalam bidang komunikasi bergerak Global system for

Mobile Communications (GSM) sangat penting, salah satunya pada sistem

pengukuran dan kinerja jaringan GSM [1]. Pengawasan kinerja jaringan dilakukan

untuk menjaga kualitas jaringan. Pada sistem pengukuran dan pengawasan kinerja

jaringan, peta digital digunakan untuk melakukan pemetaan kuat sinyal dan

kualitas sinyal yang diterima.

Banyak jenis perangkat dalam bentuk sistem pengawas dan pengukur kinerja

jaringan yang tersedia di pasaran untuk membantu melakukan optimisasi kinerja

jaringan [1-3]. Perangkat ini cukup akurat dan telah dilengkapi dengan produk

yang mengintegrasikan pengukuran dengan peta digital Geographical Information

System (GIS), sehingga memenuhi kebutuhan para insinyur yang bekerja pada

industri komunikasi bergerak, seperti operator, konsultan, kontraktor, maupun

badan pemerintah. Namun perangkat yang seperti ini memiliki harga yang cukup

mahal, sehingga tidak setiap lembaga atau perguruan tinggi mampu membelinya.

Beberapa produsen Mobile Station (MS) GSM telah melengkapi MS GSM

dengan sistem pengawasan jaringan [4]. Sebagian besar di antaranya hanya

menyediakan data tanpa penggabungan dengan peta digital karena keterbatasan

perangkat keras (tampilan, memori, dan lain-lain) dan perangkat lunak. Sistem
2

pengawasan jaringan seperti ini harganya lebih murah dari sistem yang disebutkan

sebelumnya.

Saat ini, kebutuhan insinyur/tenaga profesional di bidang komunikasi bergerak

semakin meningkat, tetapi penyiapan calon insinyur kurang memadai. Perangkat

pengawas dan pengukur kinerja jaringan akan sangat membantu dalam

menyiapkan calon insinyur untuk memasuki dunia kerja di bidang komunikasi

bergerak. Alternatif perangkat yang handal dan murah dapat menjadi alat bantu

bagi para lembaga atau perguruan tinggi untuk memberikan pengetahuan dan

pengalaman praktis bagi mahasiswa dalam melakukan pengawasan jaringan

GSM, sehingga dapat meningkatkan daya saing lulusan di bidang komunikasi

bergerak.

Untuk menampilkan data dari sebuah MS GSM pada peta digital, diperlukan

data atau informasi posisi dari MS GSM. Global positioning System (GPS) adalah

salah satu perangkat yang dapat memberikan informasi posisi untuk peta digital

GIS [5]. Pada penelitian ini, penulis ingin memberikan solusi untuk mengatasi

kekurangan dan keterbatasan dari perangkat yang hanya menyediakan data tanpa

penggabungan dengan peta digital, dengan menghasilkan perangkat yang dapat

melakukan akuisisi data dari GPS. Perangkat ini dapat memberikan solusi

alternatif akan ketersediaan perangkat pengawasan dan pengukuran kinerja

jaringan GSM yang lengkap dan ekonomis.


3

1.2 Batasan Masalah

a. Akuisisi data bujur dan lintang dari GPS ke komputer.

b. Area pengawasan dan pengukuran dilakukan di daerah Yogyakarta

kota.

c. Software yang digunakan untuk menampilkan data menggunakan

Visual Basic 6.0.

1.3 Tujuan Penelitian

Tujuan dari penelitian ini adalah menghasilkan perangkat akuisisi

data dari GPS melalui komputer yang kemudian dapat digabungkan

dengan data dari MS GSM.

1.4 Manfaat Penelitian

a. Dapat menjadi sarana pendidikan bagi perguruan tinggi untuk

mempersiapkan lulusan sebagai calon–calon professional di bidang

komunikasi bergerak, sehingga meningkatkan daya saing lulusan.

b. Memberikan tambahan pengetahuan dan pengalaman praktis bagi

mahasiswa jurusan Teknik Elektro bidang Telekomunikasi dalam

melakukan pengawasan dan pengukuran kinerja jaringan di bidang

komunikasi bergerak.

c. Menambah wawasan bagi mahasiswa jurusan Teknik Elektro

bidang Telekomunikasi mengenai optimasi kinerja jaringan GSM.


4

1.5 Metodologi Penelitian

a. Menentukan model sistem

Model sistem untuk perancangan ditunjukkan pada Gambar

1.1 GPS menerima sinyal dari satelit dan memberikan data ke

komputer. Data dari MS GSM sudah terdapat di dalam komputer.

Komputer akan mengolah kedua data dan menggabungkan data

dengan peta digital yang ada di dalam komputer. Hasil pengolahan

komputer akan memberikan informasi kinerja jaringan pada lokasi

tertentu.

Satelit

GPS Komputer

Gambar 1.1 Model sistem.

b. Menentukan parameter yang akan diukur

Parameter yang diukur berkaitan dengan lintang dan bujur.

c. Menguji perangkat

Perangkat diuji secara bergerak di luar gedung untuk

mendapatkan sinyal satelit. Pergerakan dilakukan dengan

kecepatan yang berubah-ubah di berbagai wilayah di Yogyakarta


5

kota. Data hasil akuisisi dari GPS harus dapat disimpan untuk

ditampilkan kapanpun diinginkan.

1.6 Sistematika Penulisan

Sistematika penulisan laporan tugas akhir ini adalah sebagai berikut :

BAB I : PENDAHULUAN

Bab ini berisi latar belakang masalah, tujuan dan

manfaat dari penelitian, batasan masalah, metodologi

penelitian, serta sistematika penulisan.

BAB II : DASAR TEORI

Bab ini berisi dasar teori mengenai GPS, perangkat

keras, serta perangkat lunak yang digunakan.

BAB III : PERANCANGAN SISTEM

Bab ini berisi perancangan dari sistem yang dibuat

untuk memecahkan permasalahan yang ada.

BAB IV : IMPLEMENTASI DAN PEMBAHASAN

Bab ini berisi implementasi perancangan yang dibuat,

pengambilan data, penampilan data, pembahasan dan

analisis mengenai hasil penelitian yang telah

dilaksanakan.
6

BAB V : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan spesifikasi peralatan

yang dibuat serta saran-saran untuk perbaikan alat dan

penelitian selanjutnya.

DAFTAR PUSTAKA

LAMPIRAN
BAB II

DASAR TEORI

2.1. Sistem Navigasi GPS

GPS adalah sistem radio navigasi dan penentuan posisi dengan

menggunakan satelit navigasi yang dimiliki dan dikelola oleh Departemen

Pertahanan Amerika Serikat [6]. Nama formal dari GPS adalah NAVSTAR GPS

(Navigation Satellite Timing and Ranging Global Positioning System). Sistem ini

digunakan untuk memberikan informasi mengenai posisi, waktu dan kecepatan

secara global tanpa ada batasan waktu dan cuaca. Satelit GPS pertama kali

diluncurkan pada tahun 1978. Sistem GPS dinyatakan operasional pada tahun

1994.

2.1.1. Segmen Penyusun Sistem GPS

Sistem GPS tediri atas tiga segmen utama, yaitu segmen satelit (space

segment), segmen sistem kontrol (control system segment), dan segmen pengguna

(user segment) [6-8]. Gambar 2.1. menunjukkan segmen penyusun GPS.

2.1.1.1. Segmen Satelit

Segmen satelit adalah satelit GPS yang mengorbit di angkasa sebagai

stasiun radio [6]. Satelit GPS dilengkapi antena untuk mengirim dan menerima

gelombang. Gelombang dipancarkan ke bumi dan diterima oleh receiver GPS

7
8

yang ada di bumi dan digunakan untuk menentukan informasi posisi, kecepatan,

dan waktu.

Gambar 2.1. Segmen penyusun GPS [8].

Satelit GPS terdiri dari 24 satelit yang menempati 6 bidang orbit dengan

periode orbit 10 jam 58 menit, pada ketinggian ± 20.200 km di atas permukaan

bumi [8]. Pada setiap waktu, paling sedikit 4 satelit dapat kita amati di setiap

lokasi di permukaan bumi. Hal ini memungkinkan pengguna GPS untuk dapat

menghitung posisi mereka di permukaan bumi.

2.1.1.2. Segmen Sistem Kontrol

Segmen sistem kontrol GPS adalah otak dari GPS [6]. Tugas dari segmen

sistem kontrol adalah mengatur semua satelit GPS yang ada agar berfungsi

sebagaimana mestinya serta mengirimkan beberapa informasi seperti sinkronisasi

waktu, prediksi orbit satelit, informasi cuaca di angkasa dan monitor kesehatan
9

satelit. Pihak Amerika Serikat mengoperasikan sistem ini dari Sistem Kontrol

Utama di Falcon Air Force Base di Colorado Springs, Amerika Serikat. Segmen

sistem kontrol ini juga termasuk 4 stasiun monitor yang berlokasi menyebar di

seluruh dunia.

2.1.1.3. Segmen Pengguna

Segmen pengguna adalah para pengguna satelit GPS, dalam hal ini

receiver GPS yang dapat menerima dan memproses sinyal yang dipancarkan oleh

satelit GPS. Receiver GPS yang dijual di pasaran saat ini cukup bervariasi, baik

dari segi jenis, merek, harga, ketelitian yang diberikan, berat, ukuran maupun

bentuknya. Ada beberapa cara yang dapat digunakan untuk mengklasifikasikan

receiver GPS, yaitu antara lain berdasarkan fungsi, data yang direkam, jumlah

kanal ataupun penggunaannya.

Secara sederhana receiver GPS untuk penentuan posisi dapat dibedakan tiga

jenis, yaitu tipe navigasi, tipe pemetaan, tipe geodetik [6]. Receiver GPS tipe

navigasi yang sering juga disebut tipe genggam (handheld receiver) mempunyai

ketelitian yang lebih rendah dibandingkan tipe pemetaan dan geodetik (sampai

orde 10m – 100m). Receiver tipe pemetaan dapat memberikan ketelitian posisi

hingga orde 1m – 5m. Sedangkan receiver tipe geodetik adalah tipe yang paling

dapat memberikan ketelitian posisi yang lebih tinggi hingga orde mm.
10

2.1.2. Sinyal GPS

Sinyal GPS yang dipancarkan oleh satelit-satelit GPS menggunakan band

frekuensi L pada spektrum gelombang elektromagnetik [7]. Setiap satelit GPS

memancarkan dua (2) gelombang pembawa, yaitu L1 (1575.42 Mhz) dengan

panjang gelombang ± 1,75cm, dan L2 (1227.60 Mhz) dengan panjang gelombang

± 2,25cm, berisi data kode dan pesan navigasi [7-8]. Pada dasarnya, sinyal GPS

terdiri dari tiga komponen, yaitu pemberi informasi jarak (kode), pemberi

informasi posisi satelit (navigation message), dan gelombang pembawa (carrier

wave).

2.1.2.1. Informasi Jarak

Informasi jarak yang dikirimkan oleh satelit GPS berupa kode PRN

(Pseudo Random Noise) [6]. Kode PRN itu terdiri dari dua buah, masing – masing

terdiri dari kode-C/A (Coarse Acquisition/Clear Access) yang dimodulasikan pada

gelombang pembawa L1 dan kode-P(Y) (Private) yang dimodulasikan baik pada

gelombang pembawa L1 maupun L2. Kode P mempunyai beberapa kelebihan

dibandingkan dengan kode C/A yaitu :

1. Presisi jarak yang diberikan lebih tinggi yaitu kode P = 0,3 m dan kode

C/A = 3 m.

2. Efek multipath untuk kode P lebih kecil daripada kode C/A.

3. Kode P dimodulasikan pada dua gelombang pembawa L1 dan L2 sehingga

efek bias ionosfer pada jarak hasil pengukuran dari satelit ke pengamat

dapat diestimasi.
11

Kedua kode tersebut disusun oleh rangkaian kombinasi bilangan-bilangan

biner (0 dan 1). Setiap satelit GPS mempunyai struktur kode yang unik dan

berbeda antara satu satelit dengan satelit lainnya yang memungkinkan receiver

GPS untuk membedakan sinyal-sinyal yang datang dari satelit-satelit GPS yang

berbeda. Sinyal-sinyal tersebut dapat dibedakan oleh receiver dengan

menggunakan teknik yang dinamakan CDMA (Code Division Multiple Accsess).

Informasi jarak didapatkan dari dua besaran dasar yaitu pseudorange dan

carrier beat phase. Pseudorange adalah jarak hasil perhitungan oleh receiver GPS

terhadap data ukuran waktu rambat sinyal satelit ke receiver. Pengukuran

dilakukan dengan membandingkan kode yang diterima dari satelit dengan replika

kode yang diformulasikan dalam receiver. Waktu yang digunakan untuk

sinkronisasi kedua kode tersebut adalah waktu yang diperlukan oleh kode tersebut

untuk menempuh jarak dari satelit ke pengamat. Gambar 2.2. menunjukkan cara

penentuan jarak dengan kode. Jarak dari satelit ke pengamat dapat dihitung

dengan persamaan [6] :

Jarak = C × dt (2.1)

dengan C adalah kecepatan cahaya dan dt adalah waktu yang ditempuh kode dari

satelit untuk mencapai pengamat.


12

Gambar 2.2. Penentuan jarak dengan kode [6].

Karena jam receiver tidak sinkron dengan jam satelit maka jarak di atas

masih terkontaminasi oleh kesalahan waktu. Oleh karena itu, jarak tersebut

dinamakan pseudorange. Gambar 2.3. menunjukkan skema penentuan jarak dari

pengamat ke satelit.

Gambar 2.3. Skema jarak ukuran dari pengamat ke satelit pada gelombang dalam

waktu t [6].

Carrier beat phase adalah beda fase yang diukur oleh receiver GPS dengan

cara mengurangkan fase sinyal pembawa yang datang dari satelit dengan sinyal
13

serupa yang dibangkitkan dalam receiver. Jadi data fase pengamatan satelit GPS

adalah jumlah gelombang penuh yang terhitung sejak saat pengamatan dimulai.

Jarak dari satelit ke pengamat dapat dihitung dengan persamaan [6] :

Jarak = × ( +N) (2.2)

dengan adalah panjang gelombang, adalah jumlah fase sepanjang gelombang

dalam waktu t, dan N jumlah gelombang penuh yang tidak teramati.

Untuk merubah data fase menjadi data jarak, nilai N (cycle ambiguity) harus

ditentukan terlebih dahulu. Secara umum ketelitian pengukuran fase adalah 1 % x

panjang gelombang. Jadi ketelitian jarak jika dihitung dengan menggunakan

gelombang adalah sebagai berikut :

1. L1 = 1 % x 19 cm = 1,9 mm

2. L2 = 1 % x 24,4 cm = 2,4 mm.

2.1.2.2. Informasi Posisi

Posisi yang diperoleh dari pengamatan GPS akan mengacu ke suatu datum

global yang dinamakan World Geodetic System 1984 (WGS-84) [6]. WGS-84

adalah sistem informasi koordinat yang didefinisikan, direalisasikan, dan dipantau

oleh National Imagery and Mapping (NIMA) Amerika Serikat, saat ini digunakan

oleh sistem satelit navigasi GPS. Jadi setiap penentuan posisi di permukaan bumi

akan menghasilkan koordinat pada satu sistem koordinat / datum.

Pesan navigasi yang dibawa oleh sinyal GPS terdiri dari informasi

ephemeris (orbit) satelit, yang biasa disebut broadcast ephemeris. Broadcast


14

ephemeris terdiri dari parameter waktu, parameter orbit satelit, dan parameter

perturbasi atau gangguan yang terjadi pada orbit satelit. Parameter – parameter

tersebut digunakan untuk menentukan koordinat dari satelit [6-7]. Selain

broadcast ephemeris, pesan navigasi juga berisi almanak satelit yang memberikan

informasi tentang orbit nominal satelit yang berguna bagi receiver dalam proses

akuisasi awal data satelit maupun bagi para pengguna dalam perencanaan waktu

pengamatan yang optimal [6]. Informasi lain yang dibawa oleh pesan navigasi

adalah koefisien koreksi jam satelit, parameter koreksi ionosfer, status konstelasi

satelit, dan informasi kesehatan satelit.

Penentuan posisi receiver GPS dapat dihitung dengan cara pengamatan ke

belakang. Dalam hal ini receiver GPS harus mempunyai 2 data utama yaitu :

1. Jarak antara receiver GPS dengan setiap satelit GPS yang diamati.

2. Posisi / koordinat dari setiap satelit GPS yang diamati.

Jarak dari receiver GPS ke satelit GPS dapat dihitung dari sinyal yang

diterima dari satelit GPS baik dari data kode (pseudorange) maupun dengan data

fase (carrier beat phase). Sedangkan koordinat satelit GPS diperoleh dari

informasi yang dikirimkan oleh satelit GPS tersebut bersama dengan sinyal yang

diterima oleh receiver GPS. GPS dapat menentukan posisi berdasarkan

pengamatan jarak antara receiver GPS dengan beberapa satelit GPS [9]. Prinsip

penentuan posisi GPS ditunjukan oleh Gambar 2.4. Titik A, B, dan C adalah

satelit GPS dan titik D adalah receiver GPS. Mula – mula dilakukan pengukuran

terhadap jarak dari receiver GPS dengan satelit A, setelah itu jarak dari receiver
15

GPS dengan satelit B, kemudian jarak dari receiver GPS dengan satelit C. Dengan

menggabungkan data jarak dan posisi tiga satelit sebagai referensi, posisi dari

receiver GPS dapat diketahui.

Gambar 2.4. Prinsip penentuan posisi GPS [9].

Untuk dapat menghitung koordinat receiver GPS, paling sedikit harus ada 4

satelit yang teramati [6]. Posisi yang diberikan oleh GPS adalah posisi 3 dimensi

(x, y, z ataupun , , h). Terdapat 2 metode penentuan posisi pada GPS, yaitu

metode penentuan posisi secara Diferensial dan metode penentuan posisi secara

Absolut.

2.1.2.2.1. Metode Penentuan Posisi secara Absolut

Penentuan posisi secara absolut adalah metode penentuan posisi yang

paling mendasar dari GPS [6]. Metode ini hanya menggunakan 1 receiver GPS

untuk suatu posisi dan biasanya menggunakan receiver tipe navigasi. Prinsip
16

penentuan posisi adalah pengukuran jarak receiver GPS dengan beberapa satelit

yang telah diketahui koordinatnya (minimal 4 satelit). Data yang digunakan

adalah data pseudorange.

2.1.2.2.2. Metode Penentuan Posisi secara Diferensial

Pada penentuan posisi secara diferensial, posisi suatu titik ditentukan

relatif terhadap titik lainnya yang telah diketahui koordinatnya [6]. Metode

penentuan posisi secara diferensial menggunakan 2 buah receiver. Dengan

mengurangkan data yang diamati oleh 2 receiver GPS pada waktu yang

bersamaan, beberapa jenis kesalahan dan bias pengamatan dapat dieliminasi atau

direduksi. Hal ini akan meningkatkan akurasi dan presisi dari koordinat yang

diperoleh dibandingkan pada metode absolut.

2.1.2.3. Gelombang Pembawa

Agar dapat mencapai pengamat, kode dan pesan navigasi harus

dimodulasikan terlebih dahulu pada gelombang pembawa (gelombang L1 dan

L2). Teknik modulasi yang digunakan dalam sinyal GPS adalah BPSK (Binary

Phase Shift Keying).

2.1.3. Kesalahan dan Bias Pengamatan

Pengamatan satelit GPS tidak terlepas dari kesalahan dan bias yang

disebabkan oleh beberapa faktor alam, alat, dan manusia [6]. Ada beberapa
17

macam cara yang dapat dilakukan untuk menghilangkan atau mengurangi efek

kesalahan dan bias pengamatan. Beberapa cara tersebut antara lain melakukan

estimasi parameter dari kesalahan dan bias dalam proses hitung perataan,

pengurangan data pengamatan, menghitung besar kesalahan dan bias secara

langsung atau dari model, menggunakan strategi pengamatan dan pengolahan data

yang tepat, dan mengabaikan kesalahan dan bias itu sendiri.

2.1.3.1. Kesalahan Orbit

Kesalahan orbit adalah kesalahan yang terjadi pada saat data posisi orbit

yang dilaporkan berbeda dengan posisi orbit satelit yang sebenarnya [6]. Data

mengenai orbit satelit disebut ephemeris. Kesalahan orbit akan mempengaruhi

ketelitian posisi titik-titik yang ditentukan.

2.1.3.2. Bias Ionosfer

Ionosfer akan mempengaruhi kecepatan, arah dan polarisasi sinyal GPS [6].

Efek ionosfer yang terbesar adalah pada kecepatan sinyal. Dengan berubahnya

kecepatan sinyal pada saat melewati ionosfer, maka jarak dari satelit ke pengamat

yang diukur akan ikut berubah. Ionosfer akan memperbesar perbedaan fase

gelombang dan memperlambat datangnya kode (pseudorange) yang dibawa oleh

sinyal dari satelit ke pengamat.


18

2.1.3.3. Bias Troposfer

Ketika melewati troposfer, sinyal GPS akan mengalami refraksi yang

menyebabkan perubahan kecepatan dan arah [6]. Hampir sama dengan yang

terjadi pada bias Ionosfer, bias ini mempengaruhi kecepatan sinyal sehingga hasil

pengukuran jarak juga akan mengalami kesalahan.

2.1.3.4. Multipath

Multipath adalah fenomena yang terjadi karena sinyal dari satelit tiba di

antenna GPS melalui dua atau lebih lintasan yang berbeda [6]. Perbedaan jarak

tempuh menyebabkan sinyal yang ada saling berinterferensi. Bidang reflektor

yang menyebabkan multipath bisa berupa bidang horisontal, vertikal atau miring,

seperti jalan, gedung, permukaan air, dan kendaraan.

2.1.3.5. Cycle slip

Cycle slip adalah terputusnya jumlah gelombang penuh dari fase gelombang

pembawa yang diamati, karena receiver mengalami kerusakan teknis seperti,

kabel putus, antenna tercabut atau rusak, dan lain sebagainya, yang menyebabkan

terputusnya pengamatan sinyal [6].


19

2.1.3.6. Selective Availability

Selective availability adalah metode yang diaplikasikan oleh pihak militer

Amerika Serikat agar ketelitian posisi yang relatif tinggi dari GPS hanya dapat

diperoleh pihak – pihak yang diijinkan [6]. Selective availability

diimplementasikan dengan menerapkan secara sengaja kesalahan ephemeris

satelit dan jam satelit. Koreksi kesalahan tersebut hanya diketahui oleh pihak

militer Amerika Serikat dan pihak yang diijinkan. Kebijakan selective availability

dihapuskan oleh pihak militer Amerika Serikat sejak tahun 2000.

2.1.3.7. Anti Spoofing

Anti spoofing adalah suatu kebijaksanaan dari pihak militer Amerika Serikat

untuk mencegah penggunaan kode P dari sinyal GPS yang telah diubah menjadi

kode Y yang bersifat rahasia oleh pihak-pihak yang tidak dikehendaki [6].

Struktur kode Y hanya diketahui oleh pihak militer Amerika Serikat dan pihak -

pihak yang diijinkan. Adanya anti spoofing menyebabkan pihak pengguna biasa

hanya dapat menerima kode C/A.

2.1.3.8. Ambiguitas Fase

Ambiguitas fase atau cycle ambiguity adalah jumlah gelombang (N) yang

tidak teramati oleh receiver GPS [6]. Ambiguitas fase terjadi karena adanya

gangguan pada sinyal dan dapat diketahui dengan pengamatan satelit GPS dengan

menggunakan data fase.


20

2.1.4 Ketelitian Posisi GPS

Ketelitian posisi yang didapat dengan pengamatan GPS secara umum

bergantung pada beberapa faktor [6]:

1. Ketelitian data yang digunakan (tergantung dari tipe data, kualitas/tipe

receiver serta tingkat kesalahan & bias pengamatan).

2. Geometri satelit yang diamati.

3. Metode penentuan posisi yang digunakan.

4. Strategi pemrosesan data.

Dari faktor – faktor tersebut, GPS dapat memberikan ketelitian posisi

dengan spektrum yg cukup luas, yaitu dari orde mm sampai dengan orde puluhan

meter seperti yang ditunjukkan dalam Tabel 2.1. [6].

Tabel 2.1. Ketelitian dari metode penentuan posisi secara absolut dan diferensial

[6].

Absolut Diferensial
Tipe data dan ketelitian Tipe data dan Ketelitian
keadaan keaadan
Data kode C/A ± 50 m Kode C/A ±5m
dengan selective
availability.
Kode C/A tanpa ± 20 m Data fase ±1m
selective
availability.
Kode P ±8 Data fase dengan ± 5 cm
receiver GPS yang
dipakai bergerak
21

Tabel 2.1. (lanjutan) Ketelitian dari metode penentuan posisi secara absolut dan

diferensial [6].

Absolut Diferensial
Tipe data dan ketelitian Tipe data dan Ketelitian
keadaan keaadan
Data fase dengan ± 3 mm
receiver GPS yang
dipakai diam

2.1.5 Format data keluaran GPS

Format data yang paling banyak digunakan receiver GPS adalah format

data NMEA 0183, yang sudah ditetapkan oleh National Marine Electronic

Associations (NMEA) [6-8],[10]. Data ini dapat diidentifikasi dengan aplikasi

Hyperterminal. Data keluaran dalam format NMEA 0183 berbentuk kalimat

(string) yang merupakan karakter rangkaian ASCII [9]. Setiap kalimat diawali

dengan tanda ‘$’, dua karakter Talker ID, tiga karakter Sentence ID, dan diikuti

oleh data fileds yang masing-masing dipisahkan oleh koma serta diakhiri oleh

optional cheksum dan karakter cariage return/line feed (CR/LF).

Format dasar keluaran NMEA 0183 :

$aaccc,c—c*hh<CR><LF>

dengan ”aa” adalah Talker ID yang menandakan jenis atau peralatan navigasi

yang Digunakan, ”ccc” adalah Sentence ID yang menandakan jenis informasi

yang terkandung dalam kalimat, “c—c” adalah data fileds yang berisi data-data

navigasi hasil pengukuran, “hh” adalah optional cheksum untuk pengecekan


22

kesalahan (error) kalimat, dan “<CR><LF>” adalah carriage return/line feed

yang menandakan akhir dari kalimat. Jenis – jenis informasi (sentence ID)

ditunjukkan pada Tabel 2.2. [9].

Tabel 2.2. Jenis - jenis informasi (sentence ID) [9].

Sentence Keterangan Penjelasan


ID
$GPALM GPS almanac data Berisi informasi almanak
$GPGGA GPS fix data Informasi lokasi dan ketelitian dari
informasi
$GPGLL GPS antenna position data Berisi data posisi receiver dalam
lintang dan bujur, informasi waktu dan
tanggal
$GPGRS GPS range residuals
$GPGSA GPS DOP (dilution of Status ketelitian data koordinat
precision) and active
satellites
$GPGST GPS pseudorange statistics Berisi informasi nilai noise pada
pseudorange
$GPGSV GPS satellites in view Berisi informasi jumlah dan nomor
satelit yang mengirimkan gelombang
ke receiver GPS
$GPMSS Beacon receiver signal Status sinyal yang dikirimkan dari
status pusat kontrol
$GPRMC Recommended minimum Informasi posisi minimum GPS.
specific GPS data terdiri dari informasi waktu, tanggal,
kecepatan, Namun tidak terdapat
informasi lintang dan bujur
$GPVTG Course over ground and Berisi informasi kecepatan dan
ground speed ketelitian dari informasi kecepatan
$GPZDA GPS time and date Berisi informasi waktu

Untuk mengetahui posisi menggunakan GPS, paling sedikit diambil satu

dari tiga informasi penting, yaitu : $ GPGGA, $ GPGLL, dan $ GPRMC. Masing-

masing berisi informasi garis bujur geografis, garis lintang posisi, dan waktu

UTC (Universal Time Coordinate).


23

Contoh data keluaran GPS :

$GPGGA,180432.00,4027.027912,N,08704857070,W,2,07,1.0,212.15,M,33.81,

M,4.2,0555*73

Keterangan :

1. 180432.00 = hhmmss.ss format(18 hours, 4 minutes dan 32.00 seconds)

2. 4027.027912 = garis lintang geografis dalam format ddmm.mmmmmm

(40 degrees and 27.027912 minutes)

3. N = posisi lintang (N - North, S – South)

4. 08704.857070 = garis bujur dalam format dddmm.mmmmmm (87 degrees

dan 4.857070 minutes)

5. W = posisi garis bujur (E - East, W – West)

6. 2 = indikator kualitas GPS (0 - fix not valid, 1 – GPS fix, 2 - DGPS fix)

7. 07 = nomor satelit yang digunakan (00-12)

8. 1.0 = Horizontal DOP

9. 212.15 = ketinggian antena di atas permukan laut (212.15 m)

10. 10 M = ketinggian (meter)

11. -33.81 = separasi geoidal (-33.81 m)

12. 12 M = unit separasi geoidal (meter)

13. 4.2 = lama data diferensial GPS

14. 0555 = Base station ID (0000-1023)


24

2.1.6. Sistem Koordinat Geografi

Sistem koordinat geografi digunakan untuk menunjukkan suatu titik di

Bumi berdasarkan garis lintang dan garis bujur [11]. Garis lintang yaitu garis

vertikal yang mengukur sudut antara suatu titik dengan garis katulistiwa

(equator). Titik di utara garis katulistiwa dinamakan Lintang Utara sedangkan

titik di selatan katulistiwa dinamakan Lintang Selatan. Garis bujur yaitu

horizontal yang mengukur sudut antara suatu titik dengan titik nol di Bumi yaitu

Greenwich di London Britania Raya yang merupakan titik bujur 0° atau 360°

yang diterima secara internasional. Titik di barat bujur 0° dinamakan Bujur Barat

sedangkan titik di timur 0° dinamakan Bujur Timur. Posisi kota Yogyakarta

secara geografis terletak diantara 110024'19" sampai 110028'58" Bujur Timur dan

07 015'24" sampai 07049'26" Lintang Selatan. Gambar 2.5. menunjukkan sistem

koordinat geografi [12].

Gambar 2.5. Sistem koordinat geografi [12].


25

2.2. GSM Overview

2.2.1. Definisi GSM

GSM yang pada awalnya adalah kependekan dari Groupe Spécial Mobile

merupakan standar yang diterima secara global untuk komunikasi selular digital

[13-14]. GSM berbeda dengan komunikasi bergerak generasi sebelumnya dengan

pensinyalan maupun speech channel yang menggunakan data – data digital

(digital call quality). Untuk itu, GSM disebut juga dengan 2G (second generation)

mobile communication [14].

2.2.2 Spesifikasi teknis GSM

Pada awalnya, GSM didesain untuk beroperasi pada band frekuensi 900

MHz [15]. Band frekuensi 900 MHz mempunyai frekuensi uplink 890-915 MHz,

dan frekuensi downlink 935 – 960 MHz. Bandwidth yang digunakan sebesar 25

MHZ dan lebar kanal sebesar 200 kHz. Oleh karena itu, GSM 900 menyediakan

125 kanal, yaitu 124 kanal digunakan untuk voice dan 1 kanal untuk signaling.

Gambar 2.6. menunjukkan frekuensi uplink dan downlink pada GSM 900. Tanda

panah pada Gambar 2.6. menunjukan kanal yang pada uplink dan downlink.

Gambar 2.6. Frekuensi uplink dan downlink pada GSM 900 [16].
26

Pada perkembangannya, jumlah kanal sebanyak 124 kanal tidak

mencukupi untuk memenuhi kebutuhan komunikasi bergerak. Hal ini disebabkan

oleh pesatnya pertumbuhan jumlah pelanggan jaringan GSM. Untuk memenuhi

kebutuhan kanal yang lebih banyak, regulator GSM di Eropa mencoba

menggunakan tambahan frekuensi untuk GSM pada frekuensi 1800 MHZ.

Gambar 2.7. menunjukkan pembagian frekuensi pada GSM 900,

GSM1800 dan GSM 1900. Frekuensi 1800 MHz mempunyai band frekuensi

1710-1785 MHz sebagai frekuensi uplink dan frekuensi 1805-1880 MHZ sebagai

frekuensi downlink. Untuk selanjutnya, GSM dengan band frekuensi 1800 MHZ

ini dikenal dengan sebutan GSM 1800. GSM 1800 menyediakan bandwidth

sebesar 75 MHz dengan lebar kanal 200 KHz. Oleh karena itu, GSM 1800

menyediakan 375 kanal.

Gambar 2.7. Pembagian frekuensi jaringan GSM [17].

GSM yang awalnya hanya digunakan di Eropa, meluas ke Asia dan

Amerika. Di Amerika Utara, sebelum masuknya GSM, sudah berkembang


27

teknologi lain yang menggunakan frekuensi 900 MHZ dan 1800 MHz, sehingga

frekuensi ini tidak dapat lagi digunakan untuk GSM. Regulator telekomunikasi

memberikan alokasi frekuensi 1900 MHZ untuk implementasi GSM di Amerika

Utara. Pada GSM 1900 ini, frekuensi yang digunakan adalah 1930-1990 MHz

sebagai frekuensi downlink dan frekuensi 1850-1910 MHz sebagai frekuensi

uplink. Spesifikasi lengkap tentang GSM 900, GSM 1800, dan GSM 1800 dapat

dilihat di Tabel 2.3.

Tabel 2.3. Spesifikasi GSM 900, GSM 1800 dan GSM 1900 [16].

GSM 900 GSM 1800 GSM 1900


Frekuensi Tx (Mhz) 935 – 960 1805 – 1880 1930 – 1990
Frekuensi Rx (MHz) 890 – 915 1710 – 1785 1850 – 1910
Metode multiple TDMA / TDMA / TDMA /
access FDMA FDMA FDMA
Lebar per kanal 200 KHz 200 KHz 200 KHz
Jumlah maksimum
8 8 8
user per kanal
Jumlah kanal radio 125 375 300
Kecepatan transmisi 270 kbps 270 kbps 270 kbps
Bandwidth 25 MHz 75 MHz 60 MHz
Duplex Distance 45 MHz 95 MHz 80 MHz

2.2.3 Arsitektur Jaringan GSM

Arsitektur jaringan GSM secara umum dapat dilihat pada Gambar 2.8.

Network element dalam arsitektur jaringan GSM membentuk sebuah Public Land

Mobile Network (PLMN). Network element ini dapat dibagi menjadi Mobile
28

Station (MS), Base Station Sub-system (BSS), Network Sub-System (NSS),

Operation and Support System (OSS) [13],[15].

2.2.3.1. Mobile Station

Mobile Station (MS) adalah perangkat yang digunakan oleh pelanggan

untuk melakukan koneksi terhadap jaringan GSM [13]. Secara umum sebuah MS

terdiri dari Mobile Equipment (ME) atau handset dan Subscriber Identity Module

(SIM) atau SIM card.

Gambar 2.8. Arsitektur jaringan GSM [13].

ME adalah perangkat GSM milik pelanggan yang berfungsi sebagai

terminal transmitter dan receiver (pengirim dan penerima sinyal) untuk

berkomunikasi dengan perangkat GSM lainnya. ME diidentifikasi dengan

International Mobile Equipment Identity (IMEI) dan data IMEI ini disimpan oleh

Equipment Identity Register (EIR) untuk keperluan otentikasi.


29

SIM adalah sebuah smart card yang berisi seluruh informasi pelanggan

dan beberapa informasi layanan yang dimilikinya. ME tidak dapat digunakan

tanpa ada SIM card di dalamnya, kecuali untuk panggilan emergency (SOS).

2.2.3.2. Base Station Sub-system

Base Station Sub-system (BSS) pada jaringan GSM terdiri dari Base

Transceiver Station (BTS) dan Base Station Controller (BSC). BTS adalah

perangkat GSM yang berhubungan langsung dengan MS. BTS berhubungan

dengan MS melalui air interface atau disebut juga Um Inteface. BTS berfungsi

sebagai pengirim dan penerima sinyal komunikasi dari dan atau ke MS dan juga

menyediakan radio interface antara MS dan jaringan GSM. Area cakupan BTS

disebut juga dengan cell. Sebuah BTS dapat membentuk sebuah cell atau lebih,

tergantung dari bentuk cell yang diinginkan [13].

BSC adalah perangkat yang mengontrol kerja BTS – BTS yang secara

hirarki berada di bawahnya. BSC berfungsi sebagai interface yang

menghubungkan antara BTS dan Mobile Switching Center (MSC).

2.2.3.3. Network Sub-System

Yang berperan utama dalam network sub-system adalah MSC dibantu

dengan HLR (Home Location Register), VLR (Visitor Location Register), AuC

(Authentication Center), dan EIR (Equipment Identity Register) [13]. MSC adalah

network element central dalam sebuah jaringan GSM. Semua hubungan (voice
30

call / transfer data) yang dilakukan oleh mobile subscriber selalu menggunakan

MSC sebagai pusat pembangunan hubungannya.

2.2.3.4. Operation and Support System

Operation and Support System (OSS) yang sering juga disebut dengan

Operation and Maintenance Center (OMC) merupakan sub system jaringan GSM

yang berfungsi sebagai pusat pengendalian dan maintenance perangkat (network

element) GSM yang terhubung dengannya [15]. Tiap-tiap network element

mempunyai perangkat OMC tersendiri. Biasanya, semua perangkat OMC

diletakan di dalam satu ruangan OMC yang terpusat.

2.2.4. Proses Optimisasi Jaringan GSM

Optimisasi jaringan dilakukan untuk memaksimalkan kinerja jaringan

yang sudah ada dan menjaga kualitas sinyal, agar layanan kepada pengguna dapat

ditingkatkan [17]. Sebelum optimisasi jaringan dilakukan, perlu diadakan

pengawasan dan pengukuran kinerja jaringan melalui uji berjalan (drivetest).

Drivetest merupakan langkah awal proses optimisasi, dengan tujuan untuk

mengumpulkan data pengukuran yang berkaitan dengan lokasi pengguna.

Sebelum melakukan instalasi BTS, operator perlu melakukan pengukuran

untuk mengevaluasi situs agar bisa ditentukan lokasi yang tepat untuk BTS.

Secara umum proses ini terdiri dari pengiriman sinyal Continuous Wave (CW)

yang belum dimodulasi dari situs yang sedang diuji dan mengukurnya dengan

pesawat penerima. Optimisasi dan verifikasi awal dilakukan untuk pengamatan


31

awal cakupan jaringan saat sinyal termodulasi mulai dipancarkan. Proses

selanjutnya adalah melakukan fasa uji terima (acceptance-testing). Jaringan yang

baru dibangun oleh vendor, kendalinya dialihkan ke operator GSM yang meminta

tambahan jaringan tersebut, untuk ditangani dan diuji kelayakannya. Standar

keadaan sinyal yang diterima oleh operator GSM, harus sesuai dengan data yang

terkumpul oleh vendor selama pengukuran jaringan.

Proses Optimisasi dimulai dengan drivetest, lalu post-processing yaitu

analisis data hasil pengukuran, dan akhirnya dilakukan tindakan yang dibutuhkan

untuk menyelesaikan masalah. Keseluruhan proses optimisasi diperlihatkan pada

gambar 2.9.

Gambar 2.9. Proses optimisasi [17].

Setelah data terkumpul sepanjang luas cakupan RF yang diinginkan, maka

data ini akan diproses pada suatu perangkat lunak tertentu. Setelah masalah,

penyebab dan solusi dapat diidentifikasi, langkah selanjutnya adalah melakukan

pemecahan terhadap masalah tersebut.


32

Setelah operator mulai melakukan layanan komersial, proses optimisasi

dan troubleshooting akan terus dilakukan sampai situs sel baru dibangun untuk

menambah kapasitas jaringan atau cakupan geografis. Perubahan dalam jalur

propagasi sinyal akan terus berlanjut karena penambahan gedung baru,

pertumbuhan pohon, perubahan lahan, dan penuaan/kerusakan alat. Selain itu,

dengan semakin bertambahnya pelanggan dan peningkatan kanal trafik, jaringan

perlu dioptimasi ulang untuk menghitung peningkatan daya interferensi yang

disebabkan peningkatan trafik.

2.2.5. Prinsip Drivetest.

Drivetest memungkinkan operator untuk melakukan optimisasi yang terus

menerus [17]. Umumnya, drivetest dilakukan dengan menghubungkan MS ke

PC/laptop. Pelanggan seluler biasanya melihat kinerja layanan jaringan

berdasarkan cakupan jaringan dan kualitas panggilan.

Perangkat drivetest menggunakan MS untuk mensimulasikan masalah

yang dialami pelanggan ketika akan/saat melakukan panggilan. Sebagai contoh,

jika panggilan terputus ketika beroperasi di dalam obyek bergerak pada suatu

lokasi tertentu, maka perangkat drivetest harus mampu mensimulasikan masalah

ini. Contoh lain masalah adalah panggilan yang diblokir (kegagalan mendapatkan

akses), kualitas suara yang buruk, dan cakupan area pelayanan yang kurang.

Sistem drivetest melakukan pengukuran, menyimpan data di komputer,

dan menampilkan data menurut waktu dan tempat. Beberapa tipe sistem drivetest

yang tersedia adalah, drivetest berbasis MS, berbasis receiver yang mampu
33

mengukur semua sinyal pilot yang ada, dan kombinasi keduanya. Gambar 2.10.

menunjukkan sistem drivetest kombinasi antara MS dan receiver. Sistem drivetest

yang diterapkan dalam kendaraan dan dikemudikan sepanjang area cakupan

operator ditunjukkan pada Gambar 2.11.

2.2.5.1. Sistem Drivetest berbasis MS.

Perangkat berbasis MS merupakan konfigurasi minimum yang dibutuhkan

dalam melakukan drivetest [17]. Pengukuran umum seperti panggilan gagal

ataupun terputus dilakukan untuk mengetahui sejauh mana kinerja jaringan dari

sudut pandang pelanggan. MS juga mampu mengukur Frame Error Rate (FER)

untuk mendapatkan indikasi kualitas suatu panggilan. Sistem drivetest berbasis

MS bergantung terhadap jaringan. Sinyal yang ditampilkan hanyalah sinyal yang

dikirimkan oleh operator GSM yang sesuai dengan SIM pada MS tersebut.

Gambar 2.12. menunjukkan sistem drivetest berbasis MS termasuk dengan GPS

receiver untuk menentukan lokasi akurat dari suatu peristiwa yang dialami MS.

Pengukuran berbasis MS hanya dapat menunjukkan gejala dari adanya

masalah pada jaringan, tetapi tidak mampu menunjukkan apa yang menjadi

sumber masalah pada jaringan tersebut [17]. Hal ini dikarenakan perangkat MS

sepenuhnya dikontrol oleh jaringan yang tersedia.

MS GSM

Pilot receiver
antenna
34

PC
Pilot
GPS receiver receiver

Gambar 2.10. Konfigurasi drivetest MS-receiver [17].

BTS

Perangkat
drivetest di
dalam kendaraan

Gambar 2.11. Proses drivetest dalam mobil pada jaringan GSM [17].

MS GSM
35

PC
GPS receiver

Gambar 2.12. konfigurasi sistem drivetest berbasis MS dengan laptop dan

receiver GPS termasuk antenna [17].

Dalam suatu kondisi tertentu, pengukuran yang dilakukan menjadi tidak

valid. Contohnya jaringan mengatur MS agar berkomunikasi dengan BSS tertentu

untuk mendapatkan sinyal pilot berdasarkan daftar neighbor yang dikirim MS

melalui air interface dari BSS. BSS yang tidak terdaftar dalam daftar neighbor

yang ditentukan mungkin tidak diukur oleh MS. Hal ini dapat menyebabkan

interferensi yang akan mengakibatkan panggilan terputus.

2.2.5.2. Sistem Drivetest berbasis Receiver.

Pengukuran berbasis receiver independen terhadap jaringan [17]. Sehingga

mampu mengukur semua sinyal pilot dan tidak tergantung pada daftar neighbor

yang diberikan operator jaringan.. Gambar 2.13. menunjukkan bagian – bagian

sistem drivetest berbasis receiver. GPS juga digunakan untuk menentukan lokasi

dari setiap pengukuran yang dilakukan dalam bujur dan lintang.

Pilot receiver Pilot


antenna receiver
PC
36

GPS receiver

Gambar 2.13. Sistem drivetest berbasis receiver menggunakan GPS internal [17].

2.2.6. Aplikasi GIS Pada Sistem Pengukuran dan Pengawasan Jaringan

GSM.

Setelah melakukan drivetest, data hasil pengukuran dan data posisi dari

GPS dipetakan ke dalam peta digital [17]. Hasil pemetaan akan menghasilkan

informasi GIS. GIS digunakan untuk menganalisa lokasi terjadinya penurunan

kualitas jaringan pada suatu BTS dan membantu ketepatan analisa para ahli untuk

mengidentifikasi lokasi terjadinya suatu masalah, sehingga penyelesaian masalah

dapat segera dilakukan [1],[18].

Dari hasil analisa dapat diketahui tindakan apa yang akan dilakukan untuk

mengatasi masalah yang terjadi, seperti mengganti antena untuk menambah

kapasitas sel, atau menggunakan tambahan transmitter dan repeater untuk

meningkatkan cakupan jaringan [18]. GIS juga digunakan para tenaga ahli pada

operator GSM untuk pemilihan dan evaluasi situs, perencanaan saluran transmisi,

pemetaan pengukuran kekuatan sinyal, prediksi dan analisa cakupan jaringan

[1],[18]. Contoh pemetaan kekuatan sinyal ditunjukkan pada Gambar 2.14.


37

Gambar 2.14. Pemetaan kuat sinyal [18].

2.3. Universal Serial Bus

Universal Serial Bus (USB) adalah standar bus serial untuk

menghubungkan perangkat, biasanya kepada komputer, namun juga digunakan di

peralatan lainnya seperti konsol permainan dan PDA [19]. USB didesain untuk

menghilangkan perlunya penambahan expansion card ke ISA komputer atau bus

PCI, dan memperbaiki kemampuan plug-and-play dengan memperbolehkan

peralatan-peralatan ditukar atau ditambah ke sistem tanpa perlu reboot. Ketika

USB dipasang, USB langsung dikenal sistem komputer dan memproses device

driver yang diperlukan untuk menjalankannya.


38

Ada dua tipe konektor USB yang umum digunakan, yaitu tipe A dan tipe

B. Namun demikian, seiring kebutuhan koneksi yang semakin kompleks, banyak

perangkat menggunakan tipe konektor USB yang beragam. Tipe – tipe konektor

USB ditunjukkan oleh Gambar 2.15. dan Gambar 2.16.

Tipe A Tipe B
Kaki Fungsi
VBUS (4.75–5.25
1
V)
2
3 D+
4 GND
http://en.wikipedia.org/wiki/Image:USB_TypeAB_Diagram.svg
Gambar 2.14. Konektor USB tipe A dan tipe B [19].

http://en.wikipedia.org/wiki/Image:USB_TypeAB_Diagram.svg

Gambar 2.16. Berbagai macam konektor USB (dari kiri ke kanan, micro
USB plug, mini USB plug, B-type plug, A-type receptacle, A-type plug) [20].

USB mendukung tiga macam kecepatan transmisi data, yaitu [20]:

a. Low Speed (USB 1.1, 2.0) dengan kecepatan data 1.5 Mbits/s (187 KB/s).

Kecepatan low speed banyak digunakan untuk Human Interface Device

(HID) seperti keyboard, mouse, dan joysticks.

b. Full Speed (USB 1.1, 2.0) dengan kecepatan 12 Mbits/s (1.5 MB/s). Full

Speed merupakan kecepatan data tertinggi sebelum spesifikasi USB 2.0


39

dikeluarkan. Peralatan Full Speed membagi bandwidth USB dengan dasar

first-come first-served.

c. Hi-Speed (USB 2.0) dengan kecepatan 480 Mbits/s (60MB/s) Paket data

pada bus USB ditransmisikan dengan cara mendahulukan Least Significant

Bit (LSB). Paket data pada USB terdiri dari data – data [16]:

• Sync

Semua paket data diawali dengan data sync. Sync adalah data 8 bit

untuk low speed dan full speed atau data 32 bit untuk high speed yang

digunakan untuk sinkronisasi clock antara penerima dan pemancar. Dua bit

terakhir mengindikasikan tempat data PID (Packet Identity) dimulai.

• Packet Identity (PID)

PID adalah field untuk menandakan tipe dari paket yang sedang

dikirim. Data PID berjumlah 4 bit. Supaya yakin diterima dengan benar, 4

bit dikomplementasikan dan diulang menjadi 8 bit data PID.

• Address (ADDR)

ADDR merupakan bagian alamat peralatan tempat paket

digunakan. Dengan lebar 7 bit, 127 peralatan dapat disambungkan. Alamat

0 tidak sah, sehingga peralatan yang belum terdaftar harus merespon paket

yang dikirim ke alamat 0.

• End Point (ENDP)

End Point adalah titik akhir dari field yang terdiri dari 4 bit dan

menjadikan 16 kemungkinan titik akhir. Peralatan low speed hanya

mempunyai 2 tambahan end point pada puncak dari pipe default.


40

• Cyclic Redundancy Check (CRC)

Cyclic Redundancy Check dijalankan pada data di dalam paket

yang sedang dikirim. Semua penanda (token) paket mempunyai 5 bit CRC

saat paket data yang dikirim mempunyai 16 bit CRC. CRC merupakan bit

paritas yang berfungsi untuk menandakan jika terjadi error.

• EOP (End of packet)

EOP merupakan akhir dari paket data.

2.4. Visual Basic

2.4.1. Definisi Visual Basic

Visual Basic adalah salah suatu development tools untuk membangun

aplikasi visual berbasis Windows [21]. Dalam pengembangan aplikasi, Visual

Basic menggunakan pendekatan Visual untuk merancang User Interface dalam

bentuk form. Untuk membangun kode, digunakan bahasa pemrograman

(Beginner s All-purpose Symbolic Instruction Code) BASIC yang cenderung

mudah dipelajari. Visual Basic telah menjadi tools yang terkenal bagi para pemula

maupun para developer.

Pada sistem operasi Windows, User Interface memegang peranan penting,

karena dalam pengoperasian suatu aplikasi user senantiasa berinteraksi dengan

User Interface. User tidak pernah menyadari bahwa dibelakang User Interface

berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang

dilakukan. Pada pemrograman Visual, pengembangan aplikasi dimulai dengan

pembentukan user interface, kemudian mengatur properti dari objek yang


41

digunakan dalam user interface. Setelah User Interface dibentuk, baru dilakukan

penulisan kode program untuk menangani kejadian-kejadian (event). Tahap

pengembangan aplikasi demikian dikenal dengan istilah pengembangan aplikasi

dengan pendekatan Bottom Up.

2.4.2. Integrated Development Environment (IDE) Visual Basic

IDE (Integrated Developement Environment) Visual Basic yang berarti

Lingkungan Pengembangan Terpadu, merupakan tempat bagi programmer dalam

mengembangkan aplikasinya [22]. Dengan menggunakan IDE, programmer dapat

membuat user interface, melakukan coding, melakukan testing dan debuging serta

melakukan compile pada program menjadi executable. Penguasaan yang baik

akan IDE akan sangat membantu programmer dalam meningkatkan efektivitas

dan efisiensi. Gambar 2.17. menunjukkan IDE pada Visual Basic secara umum.

Gambar 2.17. IDE pada Visual Basic [21].


42

Komponen - komponen dasar dalam IDE Visual Basic adalah sebagai

berikut [18]:

a. Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti

menyimpan project, membuka dan project.

b. Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu

dengan cepat.

c. Jendela Project, berisi gambaran dari semua modul yang terdapat

dalam aplikasi.

d. Jendela Form Designer, merupakan tempat untuk merancang user

interface dari aplikasi. Jendela ini menyerupai kanvas bagi seorang

pelukis.

e. Jendela Toolbox, berisi komponen-komponen yang dapat digunakan

untuk mengembangkan user interface.

f. Jendela Code, merupakan tempat untuk menulis kode.

g. Jendela Properties, merupakan daftar properti-properti object yang

sedang aktif. Properti adalah data-data atau karakteristik yang dimiliki

oleh suatu objek komponen.

h. Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna

suatu object.

i. Jendela Form Layout, akan menunjukkan bagaimana form ditampilkan

ketika runtime.
43

2.4.3. Property, Method dan Event dalam Visual Basic

Dalam bahasa pemrograman OOP (Object Oriented Programming) seperti

Visual Basic, pembuatan obyek harus mengikuti aturan pemrograman yang

terdapat dalam property, method dan event [23]. Property digunakan untuk

mengatur fungsi operasi dari suatu komponen sesuai dengan kebutuhan aplikasi.

Property yang paling penting dalam setiap komponen adalah name. Name

digunakan sebagai penunjuk komponen tertentu dalam pembuatan script.

Method adalah suatu perintah seperti halnya fungsi dan prosedur, tetapi

sudah tersedia di dalam suatu objek. Method dapat dipanggil dengan menulis

nama objek diikuti dengan tanda titik dan nama metodenya. Method biasanya

akan mengerjakan tugas khusus pada suatu objek tertentu, sedangkan property

biasanya memberi definisi nilai atau setting pada objek.

Event adalah peristiwa atau kejadian yang diterima oleh suatu objek,

misalnya klik, seret, tunjuk dan lain – lain. Event yang diterima objek akan

memicu Visual Basic menjalankan kode program yang ada di dalamnya.

Hubungan obyek, property, method dan event ditunjukkan oleh Gambar 2.18.

Gambar 2.18. Hubungan obyek, property, method dan event [23].


BAB III

PERANCANGAN

Perangkat lunak akuisisi data GPS untuk implementasi pemantauan

jaringan GSM terdiri dari dua bagian utama, yaitu Position Monitoring dan

Analyzer. Position Monitoring berfungsi untuk melakukan akuisisi data posisi

GPS, menampilkannya secara real time, dan menyimpan data tersebut ke dalam

database. Analyzer berfungsi untuk melakukan load data posisi dan kualitas

jaringan dari database, mengolah, dan menampilkannya dalam tampilan.

Perangkat lunak dibuat menggunakan program Microsoft Visual Basic 6.0

dan Microsoft Access. Microsoft Visual Basic digunakan untuk menghasilkan

tampilan, pengolahan data, dan melakukan koneksi terhadap receiver GPS

maupun database. Microsoft Access berfungsi untuk menghasilkan database.

3.1. Algoritma Perancangan

3.1.1. Algoritma Perancangan Position Monitoring

Position Monitoring berfungsi untuk melakukan dan mengendalikan 4

proses utama yaitu konektifitas antara receiver GPS dan komputer, akuisisi data –

data posisi, penampilan data – data posisi secara real time, dan penyimpanan data

– data ke dalam database. Gambar 3.1. menunjukkan algoritma perancangan

Position Monitoring.

44
45

Gambar 3.1. Algoritma perancangan Position Monitoring.

3.1.2. Algoritma Perancangan Analyzer

Analyzer berfungsi untuk mengendalikan 2 proses utama yaitu load data

posisi dan data kualitas jaringan dari database, dan menampilkan data – data

tersebut ke dalam tampilan yang mudah dimengerti oleh pengguna. Gambar 3.2.

menunjukkan algoritma perancangan Analyzer.

Gambar 3.2. Algoritma perancangan Analyzer.

3.2. Perancangan Diagram Alir Program

3.2.1. Diagram Alir Menu Utama

Menu Utama merupakan tampilan pertama yang akan berinteraksi dengan

pengguna, saat program pertama kali dijalankan. Pada Menu Utama terdapat tiga

buah subroutine yang dapat dijalankan, yaitu Help Subroutine, Position


46

Monitoring subroutine, dan Analyzer subroutine. Gambar 3.3. menunjukkan

diagram alir Menu Utama.

Gambar 3.3. Diagram alir Menu Utama.

Pada Menu Utama pengguna diminta untuk memilih proses apa yang ingin

dijalankan. jika pengguna telah memberikan masukan maka program akan

menjalankan proses yang sesuai dengan pilihan dari pengguna. Setelah proses
47

yang dipilih selesai dijalankan, pengguna dapat kembali ke Menu Utama atau

selesai dengan memilih perintah yang terdapat pada program.

3.2.2. Diagram Alir Position Monitoring

Program akan menjalankan Position Monitoring subroutine setelah

Position Monitoring button pada menu utama ditekan. Gambar 3.4. menunjukkan

diagram alir Position Monitoring. Pada saat monitoring dilakukan, program akan

menjalankan proses untuk membuat database file untuk menyimpan data

monitoring. Setelah itu program akan menjalankan proses membuka database dan

membuka recordset database.

Data dari GPS tidak langsung diterima oleh program, data dari GPS akan

diterima oleh program setelah proses koneksi dijalankan. Data posisi didapatkan

setelah dilakukan proses akuisisi data posisi pada data yang diterima dari GPS,

kemudian data posisi ditampilkan secara real time.

Data posisi disimpan ke dalam database pada saat akuisisi data dilakukan.

Penerimaan data akan dilakukan terus sampai pengguna memilih perintah

berhenti. Begitu perintah berhenti diberikan, koneksi GPS dengan program

diputuskan.

3.2.2.1. Diagram alir Koneksi

Subroutine Koneksi berfungsi untuk mengendalikan penerimaan data dari

GPS receiver ke personal computer (PC). Hubungan antara GPS receiver dan PC
48

dilakukan dengan kabel universal serial bus (USB). Gambar 3.5. menunjukkan

diagram alir Koneksi.

Gambar 3.4. Diagram alir Position Monitoring.

Pada proses Koneksi, mula – mula dilakukan pendeteksian apakah GPS

telah terhubung dengan PC. Jika GPS belum terhubung program akan
49

menampilkan pesan ”GPS not Connected dan jika GPS telah terhubung program

akan menampilkan pesan ”GPS connected .

Data dari GPS yang terhubung akan diterima oleh program setelah

pengguna memilih perintah pada program untuk membaca data GPS. Selama

proses baca data GPS dilakukan, program akan menampilkan pesan ”Reading

GPS”.

Gambar 3.5. Diagram alir Koneksi.

3.2.2.2. Diagram alir Akuisisi Data Posisi

Program akan menjalankan subroutine Akuisisi data Posisi setelah

terjalinnya koneksi antara GPS receiver dan PC. Subroutine Akuisisi Data Posisi
50

berfungsi untuk memilah data - data posisi yang diterima oleh PC, dari data – data

yang dihasilkan GPS receiver. Gambar 3.6. menunjukkan diagram alir Akuisisi

Data Posisi.

Proses akuisisi data dilakukan dengan mengambil data posisi dari GPS

receiver dengan menggunakan fasilitas GarXface.ocx yang berfungsi sebagai

Garmin GPS driver.

Gambar 3.6. Diagram alir Akuisisi Data Posisi.

3.2.2.3. Diagram alir Tampilan Real Time

Subroutine Tampilan Real Time berfungsi untuk menampilkan data yang

diterima pada waktu data diterima. Subroutine Tampilan Real Time dijalankan

saat penerimaan data dijalankan. Gambar 3.7. menunjukkan diagram alir

Tampilan Real Time.


51

Mulai

Tampilkan titik
posisi

Titik posisi saat


ini pada peta
digital

Tampilkan data
posisi

Data posisi
yang diterima

Tidak
Selesai ?

Ya

selesai

Gambar 3.7. Diagram alir Tampilan Real Time.

Data yang diterima ditampilkan dalam 2 tampilan, yaitu tampilan titik

posisi data di dalam peta digital dan tampilan data posisi. Mula – mula program

melakukan proses tampilan titik posisi dan menampilkannya dalam peta digital,

setelah itu program melakukan proses menampilkan data posisi dan

menampilkannya pada tampilan program. Proses ini akan berlangsung terus

selama pengguna belum memilih perintah berhenti.


52

Data yang ditampilkan sesuai dengan data yang diterima dari GPS pada

saat itu, sehingga pengguna dapat mengamati data yang diterima bersamaan

dengan proses penerimaan data dilakukan. Peta digital yang digunakan adalah

peta digital dalam bentuk format SHP (ESRI Shape File). Dalam format SHP, peta

digital dapat dijalankan dalam perangkat lunak yang dibuat menggunakan

Microsoft Visual Basic 6.0. Peta digital yang ditampilkan terdiri dari 2 layer yang

terdiri dari rupa jalan dan nama jalan.

3.2.2.4. Diagram alir Penyimpanan Database

Subroutine Penyimpanan Database berfungsi untuk menyimpan data –

data posisi hasil akuisisi sehingga dapat digunakan pada program Analyzer. Ada 4

buah bagian tabel yang digunakan dalam sebuah database yaitu recordset time,

longitude degree, longitude direction, latitude, dan latitude direction. Sinkronisasi

data antar tabel dan sumber data time menggunakan pewaktuan dari sistem

informasi. Gambar 3.8. menunjukkan diagram alir Penyimpanan Database.

Mula – mula program melakukan identifikasi apakah database telah siap.

Jika database belum siap program akan menjalankan proses membuat database

file yang diikuti proses untuk membuka database dan diikuti dengan proses

membuka recordset time, longitude degree, longitude direction, latitude, dan

latitude direction.. Jika database sudah siap program akan langsung menjalankan

proses untuk melakukan update pada data time, longitude degree, longitude

direction, latitude, dan latitude direction.


53

Mulai

Insert data date, time,


longitude degree, longitude
minute, longitude decimal,
longitude direction, latitude
degree, latitude minute,
latitude decimal, dan latitude
direction

Simpan data

Selesai

Gambar 3.8. Diagram alir Penyimpanan Database.

3.2.3. Diagram alir Analyzer untuk Position Monitoring

Analyzer berfungsi untuk melakukan load data posisi dan data kualitas

jaringan dari database dan menampilkan keseluruhan hasil Position Monitoring

yang telah dilakukan. Gambar 3.9. menunjukkan diagram alir Analyzer untuk

position monitoring .
54

mulai

Ya
About ? About

Tidak

Ya
Help ? Help

Tidak

Tidak
Open file ?

Ya

Load data
dari database

Tampilan
Analyzer

Ya
Lanjutkan
Analyzer ?

Tidak

Selesai

Gambar 3.9. Diagram alir Analyzer untuk position monitoring.

3.2.3.1. Diagram alir Load Database

Load Database Subroutine berfungsi untuk membuka data – data posisi

hasil akuisisi yang tersimpan pada database. Gambar 3.10. menunjukkan diagram

alir Load Database.


55

Gambar 3.10. Diagram alir Load Database.

3.2.3.2. Diagram Alir Tampilan Analyzer.

Tampilan Analyzer berfungsi untuk menampilkan titik posisi sesuai

dengan data posisi dari database. Data posisi ditampilkan dalam 2 jenis tampilan,

yaitu tampilan dalam bentuk tabel dan dalam bentuk titik posisi pada peta digital.

Gambar 3.11. menunjukkan diagram alir Tampilan Analyzer.


56

Gambar 3.11. Diagram alir Tampilan Analyzer.


57

Data yang ditampilkan dalam bentuk titik posisi dapat ditampilkan semua

maupun hanya beberapa bagian saja. Pengguna dapat memilih bagian data yang

ingin ditampilkan ke dalam titik posisi pada tabel. Selanjutnya dilakukan

pengecekan apakah pengguna ingin menampilkan tracking prosedur, tracking Rx

Quality, tracking Rx Level, dan tracking Tx Level. Data – data kualitas jaringan

seperti prosedur, Rx Quality, Rx Level, dan Tx Level di Load dari database yang

telah tersedia.

3.2.3.2.1. Diagram Alir Tracking Prosedur.

Tracking prosedur berfungsi untuk menampilkan data – data prosedur

sesuai dengan lokasi pada peta digital. Gambar 3.12. menunjukkan diagram alir

Tracking prosedur.

Gambar 3.12. Diagram alir Tracking prosedur.


58

3.2.3.2.2. Diagram Alir Tracking Rx Quality.

Tracking Rx Quality berfungsi untuk menampilkan data kualitas jaringan

Rx Quality pada suatu lokasi. Gambar 3.13. menunjukkan diagram alir Tracking

Rx Quality.

Gambar 3.13. Diagram alir Tracking Rx Quality.


59

3.2.3.2.2. Diagram Alir Tracking Rx Level.

Tracking Rx Level berfungsi untuk menampilkan data kualitas jaringan Rx

Level pada suatu lokasi. Gambar 3.14. menunjukkan diagram alir Tracking Rx

Level.

Gambar 3.14. Diagram alir Tracking Rx Level.

3.2.3.2.3. Diagram Alir Tracking Tx Level.

Tracking Tx Level berfungsi untuk menampilkan data kualitas jaringan Tx

Level pada suatu lokasi. Gambar 3.15. menunjukkan diagram alir Tracking Tx

Level.
60

Mulai

Titik posisi Ya
berwarna hitam Tx Level > 23
muda

Tidak

Ya
Titik posisi 23 > Tx Level >
berwarna merah 13

Tidak

Titik posisi Ya 13 > Tx Level >


berwarna kuning 3

Tidak

Titik posisi Ya 3 > Tx Level > -


berwarna hijau 10

Tidak

Titik posisi Ya -10 > Tx Level


berwarna biru tua > -20

Tidak

Titik posisi Ya
berwarna biru -20 > Tx Level
muda

Tidak

Selesai

Gambar 3.15. Diagram alir Tracking Tx Level.

3.2.3.3. Diagram Alir Normalisasi Peta

Normalisasi Peta berfungsi untuk mengatur ukuran tampilan peta digital

dan menyesuaikan ukuran titik posisi pada peta digital. Skala perubahan ukuran

peta digital adalah dua kali dari ukuran sebenarnya. Gambar 3.16. menunjukkan

diagram alir Normalisasi Peta.


61

3.2.4. Diagram Alir Help

Help berfungsi untuk menampilkan pesan – pesan bantuan bagi pengguna.

Menu ini menampilkan informasi tentang perangkat lunak pengawasan dan

pengukuran jaringan GSM. Gambar 3.17. menunjukkan diagram alir Help.

Mulai

Zoom in ?

Ya
Tidak
Ukuran peta x 2

Ukuran titik posisi x 2

Zoom out ?
Tidak
Ya

Ukuran peta / 2

Ukuran titik posisi / 2

Tidak

Selesai ?

Ya

Stop

Gambar 3.16. Diagram alir Normalisasi Peta.


62

Gambar 3.17. Diagram alir Help.

3.2.5. Diagram Alir About

About berfungsi untuk menampilkan versi program, copyright, dan credit.

Gambar 3.18. menunjukkan diagram alir About.

Gambar 3.18. Diagram alir About.

3.3. Tampilan Program

Tampilan program merupakan rancangan secara visual sebagai bentuk

implementasi program pengawasan prosedur pada jaringan GSM. Program ini

memiliki 5 buah form, yaitu Menu Utama, Network Monitoring, Analyzer, Help

dan About. Setiap form memiliki tampilan masing – masing. Tampilan program

ini menggunakan bahasa pemograman Visual Basic.


63

3.3.1 Tampilan Menu Utama

Menu Utama merupakan tampilan yang pertama kali berinteraksi dengan

pengguna pada saat program dijalankan. Menu Utama berfungsi menawarkan fitur

– fitur yang terdapat pada program. Gambar 3.19. menunjukkan tampilan Menu

Utama. Menu Utama berisi beberapa button untuk memproses fitur - fitur yang

dimiliki, yaitu :

a. Network Monitoring Button

Network Monitoring button berfungsi menjalankan perintah membuka

Position Monitoring form dan menutup form Menu Utama.

b. Analyzer Button

Analyzer button berfungsi menjalankan perintah membuka Analyzer form

dan menutup form Menu Utama.

c. Help Button

Analyzer button berfungsi menjalankan perintah membuka Help form dan

menutup form Menu Utama.

d. About Button

About button berfungsi menjalankan perintah membuka About form dan

menutup form Menu Utama.

e. Exit Button

Exit button berfungsi menjalankan perintah keluar dari program dan

menutup form Menu Utama.


64

Exit Button

Network Monitoring
Button Analyzer Button

About Button Help Button

Gambar 3.19. Tampilan Menu Utama.

3.3.2 Tampilan Position Monitoring

Position Monitoring akan ditampilkan ketika pengguna menekan Network

Monitoring button. Tampilan Position Monitoring berfungsi menampilkan data –

data dan masukan yang diperlukan untuk pemantauan posisi. Gambar 3.20.

menunjukkan tampilan Position Monitoring.


65

Button frame TextBox ComboBox Option button

OLE Map
Gambar 3.20. Tampilan Position Monitoring.

Position Monitoring dibangun dari beberapa toolbox. Toolbox yang

terdapat pada Position Monitoring antara lain:

1. TextBox

TextBox merupakan sebuah komponen yang berfungsi untuk menampilkan

dan memasukkan data dalam bentuk text. Form Position Monitoring memiliki

17 text box.
66

a. Text box 1 berfungsi menampilkan port yang sedang digunakan.

b. Text box 2 berfungsi menampilkan status koneksi handset.

c. Text box 3 berfungsi menampilkan nama Provider yang sedang digunakan.

d. Text box 4 berfungsi menampilkan nama negara dari Provider.

e. Text box 5 berfungsi untuk memberi masukkan lama waktu yang

dibutuhkan untuk mengambil satu data. Data masukkan memiliki satuan

milidetik (ms).

f. Text box 6 berfungsi untuk menampilkan waktu dari sistem operasi.

g. Text box 7 berfungsi menampilkan tipe Channel yang sedang digunakan.

h. Text box 8 berfungsi menampilkan nomor Channel yang sedang

digunakan.

i. Text box 9 berfungsi menampilkan nomor IMEI handset pelanggan.

j. Text box 10 berfungsi menampilkan nomor identitas cell yang digunakan.

k. Text box 11 berfungsi menampilkan TMSI.

l. Text box 12 berfungsi menampilkan data jarak MS ke BTS (TA) yang

ditampilkan dalam satuan kilometer..

m. Text box 13 berfungsi menampilkan LAC yang sedang digunakan.

n. Text box 14 berfungsi menampilkan data longitude yang diterima dari

GPS.

o. Text box 15 berfungsi menampilkan data arah longitude yang diterima dari

GPS.

p. Text box 16 berfungsi menampilkan data latitude yang diterima dari GPS.
67

q. Text box 17 berfungsi menampilkan data arah latitude yang diterima dari

GPS.

2. Frame

Frame adalah komponen yang berfungsi untuk mengelompokkan menu pada

program. Position Monitoring memiliki 7 frame, yaitu:

a. Connection

Frame ini berisi port serial yang digunakan dan status koneksi handset.

b. Provider Information

Frame ini berisi nama Provider dan negara dari Provider yang

digunakan.

c. Monitor Status

Frame ini berisi nilai waktu yang dibutuhkan untuk pengambilan 1 data

dan waktu dari sistem operasi.

d. View Option

Frame ini berisi pilihan fungsi kursor mouse ketika diarahkan ke peta

digital (map). Ada 6 pilihan yang ditawarkan, yaitu:

i. Zoom In

Kursor akan berbentuk kaca pembesar dan berfungsi sebagai

pembesar pixel peta.

ii. Zoom Out

Fungsinya berkebalikan dengan Zoom In.

iii. Pan

Kursor berfungsi sebagai pengeser peta.


68

iv. Select

Kursor berfungsi untuk memilih bagian peta untuk diperbesar.

v. Full Extent

Kursor berfungsi untuk mengembalikan peta ke ukuran

sebenarnya.

vi. None

Untuk mematikan semua fungsi kursor.

e. Identity

Frame ini mengelompokkan data – data identitas.

f. Procedure

Frame ini mengelompokkan data – data prosedur.

g. Signal Quality

Frame ini mengelompokkan data – data kualitas.

3. Button

Button berfungsi menjalankan perintah ketika button ditekan. Ada 10 button

pada Position Monitoring, antara lain:

a. Start Button

Button ini berfungsi untuk menjalankan monitoring.

b. Stop Button

Button ini berfungsi menghentikan proses monitoring.

c. Help Button
69

Button ini berfungsi untuk membuka form Help, dan menutup form

Monitoring.

d. About Button

Button ini berfungsi untuk membuka form About, dan menutup form

Monitoring.

e. Exit Button

Button ini berfungsi untuk membuka form Menu Utama, dan menutup

form Monitoring.

f. Find GPS Button

Button ini berfungsi untuk mendeteksi GPS yang terhubung dengan PC.

g. Connect GPS Button

Button ini berfungsi untuk melakukan koneksi antara GPS dan PC.

h. Add Layer Button

Button ini Berfungsi untuk membuka layer peta yang ditampilkan.

i. Remove Layer Buton

Button ini berfungsi untuk menutup layer peta yang ditampilkan.

j. Street Name Button

Button ini berfungsi untuk menampilkan nama jalan pada peta.

4. ComboBox
70

Combo box adalah sebuah komponen yang berfungsi memberikan pilihan.

Position Monitoring menggunakan sebuah combo box untuk memilih GPS

yang akan dikoneksikan dengan PC.

5. Map

Map merupakan komponen yang berfungsi menampilkan Digital Map.

6. OptionButton

OptionButton adalah button yang bersifat opsional. Position Monitoring

memiliki 6 option button, yaitu zoom in, zoom out, pan, select, full extent, dan

none.

3.3.3. Tampilan Analyzer untuk Position Monitoring

Analyzer akan ditampilkan ketika pengguna menekan Analyzer button.

Tampilan Analyzer berfungsi menampilkan data – data posisi yang dihasilkan oleh

Position Monitoring dan menampilkan titik posisi pada peta digital. Gambar 3.21.

menunjukkan tampilan Analyzer untuk position monitoring.

Analyzer dibangun dari beberapa toolbox. Toolbox yang terdapat pada

Analyzer antara lain:

1. TextBox

Textbox digunakan untuk menampilkan data – data waktu posisi yang dipilih

sebagai start point dan end point.

2. Tabstrip
71

Tabstrip berfungsi menampilkan komponen yang berbeda pada tab yang sama.

Ada 4 buah index pada tabstrip ini yaitu Main, Identity, Procedur dan

Performance.

CommandButton Tabstrip Option Button

Textbox Map Datagrid

Gambar 3.21. Tampilan Analyzer untuk position monitoring.

3. CommandButton

Terdapat 10 CommandButton pada form Analyzer, masing – masing memiliki

fungsi yang berbeda, yaitu :

a. Open Button
72

Button ini berfungsi untuk membuka database.

b. Help Button

Button ini berfungsi untuk membuka form Help, dan menutup form

Analyzer.

c. About Button

Button ini berfungsi untuk membuka form About, dan menutup form

Analyzer.

d. Exit Button

Button ini berfungsi untuk membuka form Menu Utama, dan menutup

form Analyzer.

e. Start Point Button

Button ini berfungsi sebagai masukan untuk memilih data posisi yang

digunakan sebagai titik awal track.

f. End Point Button

Button ini berfungsi sebagai masukan untuk memilih data posisi yang

digunakan sebagai titik akhir track.

g. Track Point Button

Button ini berfungsi sebagai masukan untuk menampilkan titik posisi

pada peta.

h. Add Layer Button


73

Button ini Berfungsi untuk membuka layer peta yang ditampilkan.

i. Remove Layer Buton

Button ini berfungsi untuk menutup layer peta yang ditampilkan.

j. Street Name Button

Button ini berfungsi untuk menampilkan nama jalan pada peta.

4. Map

Map merupakan komponen yang berfungsi menampilkan Digital Map.

5. OptionButton

OptionButton adalah button yang bersifat opsional. Analyzer memiliki 7

optionButton, yaitu zoom in, zoom out, pan, select, full extent, identify dan

none.

i. Zoom In

Kursor akan berbentuk kaca pembesar dan berfungsi sebagai

pembesar pixel peta.

ii. Zoom Out

Fungsinya berkebalikan dengan Zoom In.

iii. Pan

Kursor berfungsi sebagai pengeser peta.

iv. Select

Kursor berfungsi untuk memilih bagian peta untuk diperbesar.

v. Full Extent
74

Kursor berfungsi untuk mengembalikan peta ke ukuran

sebenarnya.

vi. None

Untuk mematikan semua fungsi kursor.

vii. Identify

Untuk melakukan identifikasi terhadap titik posisi.

6. Datagrid

Datagrid adalah tabel yang digunakan untuk menampilkan tabel position

database.

3.3.4. Tampilan About

Jika About button diklik, maka akan muncul sebuah form seperti yang

ditunjukkan pada Gambar 3.19. Tampilan About berfungsi untuk menampilkan

informasi tentang nama perangkat lunak, versi perangkat lunak (opsional),

copyright dan pembuat perangkat lunak. Pada tampilan About terdapat OK button

yang berfungsi untuk keluar dari About.


75

Gambar 3.22. Tampilan About.

3.4. Perancangan Basis Data

3.4.1. ER Diagram

Dalam pembentukan ER diagram ada 5 entitas yang terbentuk yaitu entitas

Time, entitas Procedure, entitas Positioning, entitas Identity, dan entitas signal

Quality. Masing-masing atribut untuk setiap entitas ditunjukkan oleh gambar 3.20.

3.4.2. Relasi Antar Tabel

Bentuk relasi antar tabel terlihat pada gambar 3.21. Tabel Time berelasi

one to one dengan tabel Position. Selain tabel Position terdapat tabel – tabel yang

digunakan untuk pemantauan kinerja, identitas, dan prosedur jaringan GSM.

Semua tabel ini terangkum dalam sebuah database.


76

Time

Longitude Latitude

Position

1
Latitude
Longitude Direction
Direction
Memiliki

1
1
Identity 1 1 Time 1 Performance
Memiliki Memiliki

1
Time

Memiliki

1
Procedure

Gambar 3.23. ER diagram database akuisisi data GPS untuk implementasi

pemantauan jaringan GSM.

3.5. Perancangan Struktur Data

3.5.1. Tabel Time

Tabel Time digunakan untuk menyimpan waktu pengambilan data – data

prosedur dengan primary key terletak pada time. Struktur tabelnya terlihat pada

tabel 3.1.
77

Gambar 3.24. Relasi antar tabel.

Tabel 3.1. Tabel Time.

Nama Field Type Keterangan

Time Date / Time Waktu pengambilan data

3.5.2. Tabel Position

Tabel Position digunakan untuk menyimpan data posisi yang didapatkan

dari akuisisi data GPS dengan primary key terletak pada time. Data ini akan

digunakan untuk menentukan titik posisi pada peta digital. Tabel 3.2.

menunjukkan struktur tabel Position.

Tabel 3.2. Tabel Position


78

Nama Field Tipe Data Ukuran Keterangan


Field
Time Date/Time Waktu pengambilan data

Latitude Number 20 Derajat garis lintang

Latitude Text 5 Arah garis lintang


Direction
Longitude Number 20 Derajat garis bujur

Longitude Text 5 Arah garis bujur


Direction
BAB IV

HASIL DAN PEMBAHASAN

4.1. Tampilan Program

Perangkat lunak sistem pemantauan posisi merupakan bagian dari sistem

pemantauan jaringan GSM. Gambar 4.1. menunjukkan struktur program sistem

pemantauan jaringan GSM. Warna hijau pada struktur program tersebut adalah

sistem pemantauan posisi.

Gambar 4.1. Struktur program sistem pemantauan posisi.

Perangkat lunak sistem pemantauan posisi mempunyai 5 buah tampilan

utama yaitu tampilan Menu Utama, Position Monitoring, Analyzer, Help dan

78
79

About. Perpindahan tampilan antara Position Monitoring dan Analyzer hanya

dapat dilakukan dari Menu Utama. Tampilan Help dan About dapat diakses dari

Menu Utama, Position Monitoring dan Analyzer.

4.1.1. Tampilan Menu Utama

Saat pertama kali dijalankan, program akan menampilkan Menu Utama,

seperti ditunjukkan oleh Gambar 4.2. Menu Utama mempunyai beberapa button

yang digunakan untuk mengakses tampilan – tampilan lain maupun untuk keluar

dari program. Button tersebut adalah Network Monitoring Button, Analyzer

Button, Help Button, About Button dan Exit Button.

Exit Button

Network Monitoring
Button Analyzer Button
About Button Help Button

Gambar 4.2. Tampilan Menu Utama.


80

4.1.2. Tampilan Position Monitoring

Jika Network Monitoring Button pada Menu Utama ditekan, maka

program menampilkan Position Monitoring. Tampilan Position Monitoring

merupakan bagian dari tampilan Network Monitoring. Tampilan Position

Monitoring ditunjukkan oleh Gambar 4.3. Semua button utama pada Position

Monitoring diletakkan dalam sebuah toolbar. Toolbar ini berisi Start Button, Stop

Button, Help Button, About Button dan Exit Button.

Start Button Stop Button Help Button About Button Exit Button

View Option frame

Legend

Add Layer button


Street Name button

Remove Layer

Find GPS button Text box Combo box Connect GPS button Map

Gambar 4.3. Tampilan Position Monitoring.


81

Untuk memulai sistem pemantauan posisi, user diharuskan

menyambungkan GPS yang datanya akan di akuisisi terlebih dahulu. User dapat

mengetahui GPS yang sedang terhubung ke PC dengan menekan Find GPS

button. Nama GPS yang terhubung dengan PC akan ditampilkan pada Combo box

yang terdapat pada tampilan Position Monitoring. Connect GPS button digunakan

untuk menghubungkan GPS dengan program.

Saat GPS telah terhubung, user bisa memulai pemantauan posisi secara

real time dengan menekan Start Button. Hasil pemantauan posisi ditunjukkan oleh

textbox yang menampilkan data posisi yang diterima dan Map yang menampilkan

titik posisi pada peta digital secara real time. Jika user merasa bahwa pemantauan

yang dilakukan telah cukup, maka user dapat menghentikan pemantauan posisi

dengan menekan Stop Button.

Jika Add Layer button ditekan, maka program akan membuka sebuah

kotak dialog untuk memilih file peta yang akan kita tampilkan. File peta yang

ditampilkan adalah file dengan ekstensi *.shp. Jika file tersebut dibuka, maka peta

digital secara otomatis ditampilkan dalam Map dan nama file ditampilkan pada

Legend. Keterangan nama jalan akan ditampilkan pada peta jika user menekan

Street Name button. Nama jalan hanya akan ditampilkan, jika file peta yang

dibuka memiliki keterangan nama jalan. Jika Remove Layer button ditekan, maka

file peta yang ditampilkan akan ditutup satu – persatu mengikuti urutan nama file

peta pada Legend. Option button pada View Option frame digunakan untuk

mengatur fungsi mouse cursor ketika diarahkan pada peta digital.


82

4.1.3. Tampilan Analyzer

Analyzer untuk program pemantauan posisi pada jaringan GSM

mempunyai empat buah penampil yaitu penampil position data, penampil

tracking position, penampil peta, penampil tracking performance, dan tracking

prosedur.

Penampil position data menampilkan seluruh data posisi yang terdapat

dalam sebuah database. Data posisi yang ditampilkan pada position data adalah

latitude, latitude direction, longitude, dan longitude direction. Jika Analyzer

Button pada Menu Utama ditekan, maka program menampilkan Analyzer.

Tampilan Analyzer ditunjukkan oleh Gambar 4.4.

Semua button utama pada Analyzer diletakkan dalam sebuah toolbar.

Toolbar ini berisi Open Button, Help Button, About Button dan Exit Button. Jika

Open Button pada Analyzer ditekan, maka program akan membuka sebuah kotak

dialog untuk memilih file yang akan dibuka. Jenis file yang ditampilkan pada

kotak adalah file dengan ekstensi *.mdb. File tersebut berisi keseluruhan hasil

pemantauan posisi yang dilakukan dalam rentang waktu tertentu.

Ketika sebuah file dibuka, secara otomatis program akan membaca isi file

tersebut dan menampilkannya dalam Analyzer. Semua data posisi yang didapatkan

dari pemantauan posisi ditampilkan dalam datagrid, sedangkan titik posisi

ditampilkan pada peta digital dalam Map.


83

Open Help About Exit

Penampil position data Penampil tracking position Penampil peta

(a)

Penampil tracking performance Penampil peta

(b)

Gambar 4.4. Tampilan Analyzer. (a) Bagian Main Analyzer. (b) Bagian

Performance Analyzer. (c) Bagian Procedure Analyzer.


84

Penampil peta Penampil tracking prosedur

(c)

Gambar 4.4. (lanjutan) Tampilan Analyzer. (a) Bagian Main Analyzer. (b) Bagian

Performance Analyzer. (c) Bagian Procedure Analyzer.

4.1.4. Tampilan Help

Help Button dan About Button terdapat pada Menu Utama, Network

Monitoring dan Analyzer. Jika Help Button ditekan, maka program akan

menampilkan Help, seperti ditunjukkan oleh Gambar 4.5. Help berisi tiga bagian

penting, yaitu panduan penggunaan program, teori tentang prosedur pada jaringan

GSM dan struktur program. Untuk menggunakan Help, user dipermudah dengan

mengikuti link yang disediakan.


85

Gambar 4.5. Tampilan Help.

4.1.5. Tampilan About

Jika About Button ditekan, maka program akan menampilkan About.

Tampilan About ditunjukkan oleh Gambar 4.6. About mempunyai sebuah OK

Button yang berfungsi kembali ke tampilan sebelumnya. Tampilan About berisi

informasi tentang nama perangkat lunak, versi perangkat lunak, copyright dan

pembuat perangkat lunak.


86

Gambar 4.6. Tampilan About.

4.2. Pengujian Program

4.2.1. Position Monitoring

Position Monitoring berfungsi melakukan koneksi antara GPS dan PC,

mengakuisisi data – data posisi, menyimpan data – data posisi ke dalam database,

menampilkan peta digital, dan menampilkan titik posisi ke peta digital. Position

Monitoring juga harus mampu menampilkan dan menyimpan data – data posisi

sesuai dengan jeda waktu yang ditentukan. Ketika koneksi berhasil dilakukan,

nama GPS yang terhubung dan data posisi GPS yang diterima akan tertampil.

Data – data posisi yang ditampilkan maupun yang tersimpan harus mewakili

posisi GPS pada lokasi dan waktu yang sebenarnya. Gambar 4.7. menunjukkan

koneksi yang berhasil dilakukan. Akuisisi data posisi yang dilakukan oleh
87

Position Monitoring terdiri dari data longitude dan latitude dalam bentuk satuan

derajat dalam desimal.

Gambar 4.7. Koneksi antara handset dan PC.

4.2.1.1. Pengujian Akuisisi Data GPS

Pengujian akuisisi data GPS dilakukan secara bergerak di luar gedung agar

dapat mendapatkan sinyal satelit. Pergerakan dilakukan dengan kecepatan yang

berubah – ubah. Data – data posisi yang diterima dari GPS ditampilkan dalam

longitude textbox dan latitude textbox yang tersedia, sedangkan arah longitude dan

latitude ditampilkan pada direction textbox.

Pada saat GPS kehilangan sinyal satelit, data posisi yang diambil adalah

posisi terakhir sebelum GPS kehilangan sinyal satelit. Saat GPS kehilangan sinyal

satelit dapat diketahui dari nilai error posisi GPS yang tidak terhingga seperti

yang ditunjukkan pada Gambar 4.8. Gambar 4.9. menunjukkan Position

Monitoring pada saat melakukan akuisisi data GPS. Gambar 4.10. menunjukkan

data – data posisi yang tersimpan dalam database selama rentang waktu tertentu.

Pergeseran posisi yang terjadi tergantung dari kemampuan dari GPS yang

digunakan dalam menentukan posisi. Keakuratan akuisisi data dilihat dari

keakuratan GPS dalam menentukan posisi. Berdasarkan pengamatan pada saat


88

pengambilan data, nilai keakuratan data posisi GPS adalah ± 7 meter sampai ± 29

meter, seperti yang ditunjukkan pada Gambar 4.11. dan Gambar 4.12.

Gambar 4.8. Error GPS saat kehilangan sinyal satelit.

Direction textbox
Gambar 4.9. Position Monitoring pada saat melakukan akuisisi data GPS.
89

Gambar 4.10. Data – data posisi yang tersimpan dalam database.

Gambar 4.11. Keakuratan tertinggi data GPS.

Gambar 4.12. Keakuratan terendah data GPS.


90

4.2.1.2. Pengujian Menampilkan Peta

Position Monitoring membutuhkan peta digital untuk kebutuhan

penampilan data posisi. Peta digital yang digunakan adalah peta digital dengan file

yang memiliki ekstensi *.shp. Peta yang digunakan disini adalah peta kota

Yogyakarta. Position Monitoring akan membuka kotak dialog yang akan

menampilkan nama file peta digital yang disimpan pada file program.

Peta akan ditampilkan dengan memilih nama file peta yang diinginkan

pada kotak dialog Gambar 4.13. menunjukkan file peta digital yang ditampilkan

pada kotak dialog Pada program ini terdapat dua buah peta yang dilengkapi

dengan nama jalan dan tidak dilengkapi dengan nama jalan. Peta yang dilengkapi

nama jalan diberi nama jalangeo3.shp, dan yang tidak memiliki nama jalan diberi

nama jlgeo.shp.

Gambar 4.13. File peta digital pada kotak dialog.


91

Keterangan nama peta dan warna peta digital ditampilkan pada Legend.

Selain menampilkan nama file yang sedang dibuka, Legend juga berfungsi untuk

memberikan keterangan warna layer peta yang ditampilkan dan mengatur layer

agar terlihat atau tidak terlihat pada Map. Legend akan memudahkan user untuk

membedakan peta yang diampilkan.

Nama jalan pada peta digital ditampilkan setelah Street Name button

ditekan. Nama jalan hanya dapat ditampilkan jika file peta yang dibuka memiliki

data nama jalan di dalamnya. Remove Layer button berfungsi untuk menutup file

peta. Peta ditutup satu - persatu sesuai dengan urutan layer pada saat peta

ditampilkan. Gambar 4.14. menunjukkan Position Monitoring pada saat

menampilkan peta digital dengan file Jlgeo.shp yang tidak memiliki nama jalan.

Gambar 4.15. menampilkan peta digital dengan file Jalangeo3.shp yang memiiki

nama jalan.

Legend

Gambar 4.14. Position Monitoring pada saat menampilkan peta digital Jlgeo.shp

yang tidak memiliki nama jalan.


92

Remove Layer button Street Name button


(b)

Gambar 4.15. Position Monitoring pada saat menampilkan peta digital

Jalangeo3.shp yang memiliki nama jalan.

4.2.1.3. Pengujian View Option

View Option merupakan bagian yang berfungsi untuk mengatur fungsi

mouse cursor pada saat diarahkan ke peta, bagian View Option akan

mempermudah User dalam menggunakan peta digital. Fungsi – fungsi tersebut

antara lain mode Zoom In, Zoom Out, Pan, Select, Full Extent, dan None.

Pada saat mode Zoom In dipilih, bentuk cursor mouse ditampilkan dalam

bentuk kaca pembesar dengan tanda plus. Tampilan peta akan diperbesar jika

mouse ditekan dan cursor mouse diarahkan pada peta. Gambar 4.16. bagian (a)
93

menunjukkan tampilan peta setelah diperbesar 1 kali. Gambar 4.16. bagian (b)

menunjukkan tampilan peta setelah diperbesar 2 kali.

Pada peta yang telah diperbesar, jarak antar garis jalan dan nama jalan

terlihat lebih panjang dibandingkan dengan peta sebelum diperbesar sehingga

lebih terlihat jelas. Hal ini menunjukkan mode Zoom In bekerja sesuai dengan

yang dinginkan.

View Option

(a)

Gambar 4.16. Tampilan peta digital. (a) Setelah diperbesar 1 kali.

(b) Setelah diperbesar 2 kali.


94

(b)

Gambar 4.16. (lanjutan) Tampilan peta digital. (a) Setelah diperbesar 1 kali.

(c) Setelah diperbesar 2 kali.

Ukuran nama jalan dan garis jalan pada peta tidak mengalami perubahan

saat peta diperbesar dan diperkecil, hal ini disebabkan nama jalan dan garis jalan

merupakan data yang tersimpan pada data peta dan program tidak dibuat

melakukan perubahan ukuran nama jalan dan garis jalan. Ideal nama jalan

ditampilkan untuk peta yang diperbesar 4 kali, sehingga letak nama jalan pada

peta dapat terlihat dengan jelas seperti yang ditunjukkan pada Gambar 4.17.
95

Gambar 4.17. Tampilan nama jalan dengan peta yang diperbesar 4 kali.

Pada saat mode Zoom Out dipilih, bentuk cursor mouse ditampilkan dalam

bentuk kaca pembesar dengan tanda minus. Tampilan peta akan diperkecil jika

mouse ditekan dan cursor mouse diarahkan pada peta seperti yang ditunjukkan

pada Gambar 4.18.

Pada peta yang telah diperkecil, jarak antar garis jalan dan nama jalan

terlihat lebih kecil dibandingkan dengan peta sebelum diperkecil. Mode Zoom

Out memiliki batas pada saat peta dalam ukuran normal, peta tidak dapat

diperkecil lagi. Hal ini menunjukkan mode Zoom Out bekerja sesuai dengan yang

diinginkan.
96

View Option

(a)

(b)

Gambar 4.18. Tampilan peta digital. (a) Setelah diperbesar 3 kali. (b) Setelah

diperkecil 1 kali.
97

Pada saat mode Pan dipilih, bentuk cursor mouse ditampilkan dalam

bentuk symbol tangan. Mode Pan dipilih pada saat peta ingin digeser ke kiri,

kanan, atas, dan bawah. Gambar 4.19. menunjukkan perbedaan tampilan peta

antara peta sebelum digeser dan setelah digeser. Setelah digeser kekanan, peta

menampilkan bagian peta dibagian kiri yang sebelumnya tidak terlihat.

Mode Pan memiliki keterbatasan, yaitu pada saat peta berada pada ukuran

normal, penggeseran tampilan peta tidak dapat dilakukan. Hal ini menunjukkan

mode Pan bekerja sesuai dengan yang diinginkan.

(a)

Gambar 4.19. Tampilan peta digital. (a) Sebelum digeser. (b) Setelah digeser

kekanan.
98

(b)

Gambar 4.19. (lanjutan) Tampilan peta digital. (a) Sebelum digeser. (b) Setelah

digeser kekanan.

Mode Select berfungsi untuk memperbesar tampilan peta sesuai dengan

bagian peta yang dipilih. Seperti yang ditunjukkan pada Gambar 4.20. setelah peta

dipilih pada bagian tertentu, peta akan menampilkan bagian yang dipilih secara

penuh. Cursor mouse berbentuk tanda panah pada saat mode Select dipilih.

Pada saat mode Full Extent dipilih, bentuk cursor mouse ditampilkan

dalam bentuk panah. Mode Full Extent dipilih pada saat peta ingin dikembalikan

ke ukuran penuh. Gambar 4.21. menunjukkan bagaimana pada saat peta yang

sebelumnya diperbesar, dikembalikan ke ukuran penuh.


99

Gambar 4.20. Tampilan peta digital pada saat dilakukan Select.

Pada ukuran penuh, seluruh bagian peta dapat dilihat sepenuhnya. Gambar

4.21. membuktikan bahwa mode Full Extent bekerja sesuai yang dinginkan. Jika

mode None dipilih, maka mouse hanya berfungsi sebagai penunjuk. Cursor mouse

berbentuk tanda panah pada saat mode None dipilih.


100

(a)

(b)

Gambar 4.21. Tampilan peta digital. (a) Saat diperbesar 7 kali. (b) Setelah

dikembalikan ke ukuran normal.


101

4.2.1.4. Pengujian Menampilkan Titik Posisi pada Peta

Pada Position Monitoring, data posisi yang diterima langsung

ditampilkan ke dalam titik posisi pada peta. Hal ini bertujuan agar User dapat

mengetahui posisi pada saat melakukan pemantauan jaringan GSM pada peta.

Letak posisi ditampilkan dalam bentuk titik berwarna merah, titik ini akan

berpindah sesuai dengan data posisi yang diterima dari GPS. Gambar 4.22.

menunjukkan tampilan titik posisi pada peta pada saat Postion Monitoring

dilakukan.

(a)

Gambar 4.22. Tampilan titik posisi pada saat Position Monitoring dilakukan. (a)

Menggunakan peta dengan pergeseran letak koordinat kecil. (b) Menggunakan

peta dengan pergeseran letak koordinat besar.


102

(b)

Gambar 4.22. (lanjutan) Tampilan titik posisi pada saat Position Monitoring

dilakukan. (a) Menggunakan peta dengan pergeseran letak koordinat kecil. (b)

Menggunakan peta dengan pergeseran letak koordinat besar.

Ketepatan letak titik posisi sangat bergantung dengan besarnya perbedaan

nilai koordinat pada peta dengan nilai koordinat sebenarnya dan tingkat ketepatan

data posisi yang diterima dari GPS. Semakin besar pergeseran letak koordinat

peta, semakin besar pergeseran titik posisi pada peta.

Pada Gambar 4.22. terlihat pada peta yang pergeseran letak koordinatnya

kecil, titik posisi terletak hampir tepat pada garis jalan, sedangkan pada peta yang

pergeseran letak koordinatnya besar, titik posisi tidak terletak pada garis jalan.

4.2.2. Pengujian Analyzer


103

Analyzer merupakan bagian dari program pemantauan posisi yang

berfungsi membuka dan menampilkan data – data posisi hasil Position Monitoring

yang telah dilakukan. Untuk itu, sebuah Analyzer harus mampu menampilkan data

– data yang diinginkan dalam tampilan yang mudah dimengerti oleh user. Data

yang ditampilkan Analyzer juga harus sesuai dengan data – data yang tersimpan

dalam database.

Analyzer memungkinkan user mudah dalam memilih database yang

dikehendaki. Kemudahan memilih database ini ditunjukkan dengan keluarnya

kotak dialog yang langsung terhubung dengan folder tempat semua database

tersimpan. Setiap database mempunyai nama unik dengan format

“yyyymmdd_hhnn_ProviderName” . Nama ini memudahkan pencarian database

yang dikehendaki. Gambar 4.23. menunjukkan kotak dialog dengan nama setiap

database di dalamnya.

Gambar 4.23. Kotak dialog pemilih database pada Analyzer.

4.2.2.1. Pengujian Penampil Position Data


104

Pengujian penampil position data dilakukan dengan membuka sebuah

database. Data posisi yang tersimpan di dalam database, ditampilkan dalam

bentuk tabel lengkap dengan nama tabel yang sesuai dengan tabel database.

Gambar 4.24. menunjukkan isi penampil position data.

Penampil position data diuji dengan data seperti yang ditunjukkan oleh

Gambar 4.24. Data yang ditampilkan pada Gambar 4.24. sama dengan data yang

ditunjukkan pada Gambar 4.25. Gambar 4.24. dan Gambar 4.25. memperlihatkan

bahwa penampil position data dapat membuka data – data posisi dari database.

Penampil position data

Gambar 4.24. Isi penampil position data.


105

Gambar 4.25. Data posisi pada database.

4.2.2.2. Pengujian Penampil Peta

Penampil peta menampilkan peta digital yang terdapat di dalam file

program. Pengujian penampil peta dilakukan dengan membuka sebuah file peta.

Gambar 4.26. menunjukkan isi penampil peta. Gambar tersebut memperlihatkan

bahwa penampil peta dapat menampilkan peta seperti yang dinginkan.

Gambar 4.26. Isi penampil peta.

4.2.2.3. Pengujian Penampil Tracking Position


106

Penampil tracking position menampilkan data – data posisi dari database

ke bentuk titik-titik posisi berwarna merah pada peta. Kumpulan titik posisi

membentuk jalur pada peta sesuai dengan lokasi atau jalan yang telah dilalui.

Pengujian tracking position dilakukan dengan membuka data posisi dari database,

kemudian memilih data yang digunakan sebagai titik awal dan titik akhir tracking.

Gambar 4.27. menunjukkan penampil tracking position pada saat tracking

dilakukan. Pada Gambar 4.27., titik posisi terletak hampir tepat di atas garis jalan

yang telah dilalui pada saat Position Monitoring dilakukan.

Gambar 4.27. Penampil tracking position.

Pada saat pengambilan data dilakukan tidak bergerak pada satu posisi saja

selama beberapa waktu, titik posisi akan ditampilkan dalam beberapa titik posisi
107

seakan terlihat pengambilan data dilakukan secara bergerak. Hal ini disebabkan

satelit yang terus bergerak sehingga GPS selalu memperbarui data posisi setiap

beberapa waktu dan memberikan keakuratan yang berbeda – beda. Gambar 4.28.

menunjukkan titik posisi yang ditampilkan pada data posisi yang diambil dalam

keadaan diam selama beberapa waktu.

Gambar 4.28. Titik posisi yang ditampilkan pada data posisi yang diambil

dalam keadaan diam selama beberapa waktu.

Jalur yang dibentuk oleh titik – titik posisi pada peta akan terputus saat

GPS kehilangan sinyal satelit. Jalur terputus yang disebabkan data posisi yang

diberikan saat GPS kehilangan satelit adalah data posisi terakhir saat GPS masih
108

mendapatkan sinyal satelit. Jalur akan diteruskan pada posisi saat GPS

mendapatkan sinyal satelit kembali, seperti yang ditunjukkan pada Gambar 4.29.

Gambar 4.29. Jalur titik posisi saat GPS kehilangan sinyal satelit.

Pada Position Analyzer terdapat fungsi View Option tambahan, yaitu

Identify. Identify berfungsi untuk melakukan identifikasi posisi pada peta,

terhadap database posisi yang sedang dibuka saat cursor mouse diarahkan ke

peta. Saat identifikasi dilakukan, waktu pengambilan data posisi akan ditampilkan

pada kotak Times Identify seperti yang ditunjukkan pada Gambar 4.30. Cursor

Mouse tidak perlu diarahkan tepat diatas titik posisi, karena program akan mencari

titik terdekat pada data posisi dari posisi yang ditunjuk Cursor Mouse.
109

Kotak Times Identify

Gambar 4.30. Position Analyzer saat melakukan identifikasi.

4.2.2.4. Pengujian Penampil Tracking Performance

Penampil tracking performance menampilkan data – data posisi dalam

bentuk titik pada peta dengan warna – warna yang telah ditentukan, sesuai dengan

data – data performance pada lokasi tersebut. Data – data performance yang

ditampilkan adalah Rx Quality, Rx Level, Tx Level.


110

Gambar 4.31. Isi penampil tracking performance saat menampilkan Rx Quality.

Gambar 4.32. Titik posisi saat data Rx Quality “1”.

Gambar 4.31. menunjukkan isi penampil tracking performance pada saat

menampilkan Rx Quality. Sesuai dengan data Rx Quality yang bernilai “1”, warna

titik posisi pada peta berwarna biru muda, seperti yang ditunjukkan pada Gambar
111

4.32. Gambar tersebut menunjukkan penampil tracking performance untuk Rx

Quality bekerja sesuai dengan yang diinginkan.

Gambar 4.33. Isi penampil tracking performance saat menampilkan Rx Level.

Gambar 4.34. Titik posisi saat data Rx Level “-120”.


112

Gambar 4.33. menunjukkan isi penampil tracking performance pada saat

menampilkan Rx Level. Sesuai dengan data Rx Level yang bernilai “-120”, warna

titik posisi pada peta berwarna hitam, seperti yang ditunjukkan pada Gambar 4.34.

Gambar tersebut menunjukkan penampil tracking performance untuk Rx Level

bekerja sesuai dengan yang diinginkan.

Gambar 4.35. menunjukkan isi penampil tracking performance pada saat

menampilkan Tx Level. Sesuai dengan data Tx Level yang bernilai “14”, warna

titik posisi pada peta berwarna merah, seperti yang ditunjukkan pada Gambar

4.36. Gambar tersebut menunjukkan penampil tracking performance untuk Tx

Level bekerja sesuai dengan yang diinginkan.

Gambar 4.35. Isi penampil tracking performance saat menampilkan Tx Level.


113

Gambar 4.36. Titik posisi saat data Tx Level “14”.

4.2.2.5. Pengujian Penampil Tracking Prosedur

Penampil tracking prosedur menampilkan data – data posisi dalam bentuk

titik pada peta dengan warna – warna yang telah ditentukan, sesuai dengan data –

data prosedur yang terjadi pada lokasi tersebut. Data - data prosedur yang

ditampilkan adalah Idle, Call Setup, Handover, Location Update. Gambar 4.37.

menunjukkan isi penampil tracking prosedur. Jika pada posisi yang sama terjadi

beberapa prosedur evenst, hanya satu indikasi events saja yang ditampilkan pada

peta.

Pada saat data events prosedur pada suatu posisi menunjukkan terjadi Idle,

titik posisi yang ditampilkan pada peta berwarna hijau, seperti yang ditunjukkan

pada Gambar 4.38. Gambar tersebut menunjukkan tracking prosedur untuk

indikasi Idle dapat berjalan dengan baik.


114

Gambar 4.37. Isi penampil tracking prosedur.

Gambar 4.38. Titik posisi saat data events prosedur terjadi Idle.
115

Pada saat data events prosedur pada suatu posisi menunjukkan terjadi Call

Setup, titik posisi yang ditampilkan pada peta berwarna biru, seperti yang

ditunjukkan pada Gambar 4.39. Gambar tersebut menunjukkan tracking prosedur

untuk indikasi Call Setup dapat berjalan dengan baik.

Gambar 4.39. Titik posisi saat data events prosedur terjadi Call Setup.

Pada saat data events prosedur pada suatu posisi menunjukkan terjadi

Handover, titik posisi yang ditampilkan pada peta berwarna merah, seperti yang

ditunjukkan pada Gambar 4.40. Pada saat data events prosedur pada suatu posisi

menunjukkan terjadi Location Update, titik posisi yang ditampilkan pada peta

berwarna kuning, seperti yang ditunjukkan pada Gambar 4.41. Gambar 4.40. dan

Gambar 4.41. menunjukkan tracking prosedur untuk indikasi Call Setup dan

Handover dapat berjalan dengan baik. Berdasarkan pengujian penampil tracking


116

prosedur secara keseluruhan, penampil tracking prosedur dapat bekerja dengan

baik seperti yang diinginkan.

Gambar 4.40. Titik posisi saat data events prosedur terjadi Handover.

Gambar 4.41. Titik posisi saat data events prosedur terjadi Location Update.
BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Kesimpulan yang dapat diambil dari program akuisisi data GPS untuk

implementasi pemantauan jaringan GSM adalah :

1. Program pemantauan akuisisi data GPS untuk implementasi pemantauan

jaringan GSM sudah berhasil dibuat dan dapat dijalankan dengan baik.

2. Program akuisisi data GPS untuk implementasi pemantauan jaringan GSM

dapat menjalankan beberapa program pilihan dari Menu Utama yaitu Network

Monitoring dan Analyzer.

3. Saat GPS kehilangan satelit, data posisi yang diberikan adalah data posisi

terakhir sebelum GPS kehilangan satelit.

4. Saat GPS kehilangan satelit, error data posisi GPS menjadi tidak terhingga.

5. Akuisisi data posisi hanya dapat dilakukan dengan GPS merk Garmin.

6. Ketepatan titik posisi yang ditampilkan tergantung dari keakuratan peta dan

keakuratan data posisi GPS.

7. Berdasarkan pengamatan pada saat pengambilan data, nilai keakuratan data

posisi GPS adalah ± 7 meter sampai ± 29 meter.

8. Pada saat pengambilan data dilakukan tidak bergerak pada satu posisi saja

selama beberapa waktu, titik posisi akan ditampilkan dalam beberapa titik

posisi.

117
118

5.2. Saran

Saran – saran bagi pengembangan program berikutnya adalah :

1. Perlunya pengembangan agar akuisisi data dapat dilakukan pada semua jenis

dan merk GPS, tidak terbatas hanya pada GPS dengan merk Garmin.

2. Perlunya membuat program yang lebih efisien dan akurat dengan

memperbaiki protokol komunikasi data dan penggunaan komponen yang

efisien.
DAFTAR PUSTAKA

[1] D. Radis, V. Bulavas, K. Pleskis, "GSM Network Planning Tools on a Base of

ArcView GIS".

http://gis2.esri.com/library/userconf/europroc97/10amfm/AM2/am2.htm

(diakses Juli 2007).

[2] _____, "E7475A GSM Drive-Test System, Product Overview", Agilent

Technologies, 2001. www.agilent.com (diakses Juli 2007).

[3] ______, "R&S®TSMx Radio Network Analyzers, Straightforward Solution:

Neighborhood Analysis in 2G and 3G Networks", News from Rohde &

Schwarz, no. 192, 2007.

www.rohdeschwarz.com/WWW/Publicat.nsf/article/n192_TSMx_2/$file/n19

2_TSMx_2.pdf (diakses Juli 2007).

[4] _____, "The Nokia Network Monitor", Oktober 2005.

www.panuworld.net/nuukiaworld (diakses Juli 2007)

[5] Y. H. Tseng, W. S. Hwang, *C. K Shieh “The Influence of Propagation

Environment in a Live GSM Network”, Department of Electrical Engineering,

National Kaohsiung University of Applied Sciences, Kaohsiung, R.O.C.

*Department of Electrical Engineering, National Cheng Kung University,

Tainan, R.O.C.

www.home.agilent.com/agilent/redirector.jspx?action=ref&cc=US&lc=eng&c

key=1000034263%3Aepsg%3 (diakses Juli 2007)

123
120

[6] M. Awaluddin, “TEKNOLOGI GLOBAL POSITIONING SYSTEM (GPS)

UNTUK PENENTUAN POSISI”.

http://www.geocities.com/filegeodesi/gps.pdf

[7] ______, “GLOBAL POSITIONING SYSTEM”, From Wikipedia, the free

encyclopedia.

http://en.wikipedia.org/wiki/Global_Positioning_System

[8] ______,”Pengenalan GPS dan Penggunaannya”.

http://www.coremap.or.id/downloads/GIS.pdf

[9] Sillhouete, “Peta umum : bagaimana GPS menentukan suatu lokasi”,

Navigasi.net

[10] V.I. Adamchuk, ”Untangling the GPS Data String”, Cooperative Extension

Institute of Agriculture and Natural Resources University of Nebraska.

[11] _________. “Sistem koordinat geografi”, Dari Wikipedia Indonesia,

ensiklopedia bebas berbahasa Indonesia.

http://id.wikipedia.org/wiki/Sistem_koordinat_geografi

[12] _________.”Membaca posisi”, bakosurtanal.

http://www.bakosurtanal.go.id/upl_file/MEMBACA%20POSISI.pps

[13] Faiz GP. “Global System for Mobile Communication (GSM)”.

http://purwakarta.org/flash/GSM.pdf

[14] _________. “GSM”. Wikimedia Foundation, Inc. 2007.

http://en.wikipedia.org/wiki/GSM

[15] _________. “Global System for Mobile Communication (GSM)”. The

International Engineering Consortium. 2004.


121

http://burnsidetelecom.com/whitepapers/gsm.pdf

[16] Varun Ranjit Singh. “GSM Overview”. 2004.

http://varun.accosted.net/downloads/pdf/mobile/OverviewGSM.pdf

[17] _________. “Drivetest untuk optimisasi jaringan CDMA menggunakan

perangkatAgilent”.

http://www.telekomui.org/download/Optimisasi_Jaringan.pdf

[18] Ajala, Ireti. “GIS and GSM Network Quality Monitoring: A Nigerian Case

Study . Location Intelligence Conference. 2008.

http://www.locationintelligence.net/articles/2030.html

[19] __________, “Universal Serial Bus”. Wikimedia Foundation, Inc. 2007.

http://id.wikipedia.org/wiki/Universal_Serial_Bus

[20] __________, “Universal Serial Bus”. Wikimedia Foundation, Inc. 2007.

http://en.wikipedia.org/wiki/Universal_Serial_Bus

[21] _________, “Pengenalan Visual Basic 6”

http://125.160.17.21/speedyorari/view.php?file=library/library-ref-ind/ref-

ind2/application/programming/Module+1++Pengenalan+Dasar+Tentang+Vi

sual+Basic+6.0.pdf

[22] _________, “Pengenalan Dasar tentang Visual Basic 6”. Indo Tektips. 2006.

www.indo-tektips.com/vb6/Module_1__Pengenalan_Dasar_Tentang_

Visual_Basic_6.0.pdf

[23] Krisna D. Octovhiana, “Cepat Mahir Visual Basic 6”. Ilmu Computer.Com.

2006.
122

http://ilmukomputer.com/2006/09/13/cepat-mahir-visual-basic-6
LAMPIRAN

123
1

Gambar L-1 ER Diagram

Gambar L-2 Relasi antar tabel


2

Petunjuk Instalasi Program

1. Jalankan setup.exe

2. Pilih path penempatan program

3. Extract gammu.zip ke drive c:/

4. Install map object 2.4

5. Copy .dll map object ke c:/program files/common files/esri/

6. Install garXface

7. Copy .dll garXface ke c:/windows/system32/

8. Install USB to Serial converter driver

9. Install driver Garmin GPS

10. Jalankan program


3

Listing Program
condb module
Public Declare Function CopyFile Lib "kernel32" Alias" CopyFileA"(ByVal lpExistingFileName
As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Public dbPath As String
Public con As adodb.Connection
Public rsIdentity As adodb.Recordset
Public rsProcedure As adodb.Recordset
Public rsPerformance As adodb.Recordset
Public rsPosition As adodb.Recordset
Public rsStatistic As adodb.Recordset
Public rsFixidentity As adodb.Recordset
Public rsTime As adodb.Recordset
Public strSQL As String

Public Sub Databasename()


Dim dbName As String
dbName = Year(Now) & Month(Now) & Day(Now) & "_" & Hour(Now) & Minute(Now) &
"_" & fixidentity.provname & ".mdb"
dbPath = App.Path & "/Database/" & dbName
End Sub

Public Sub Copydb()


Dim strSource As String
Dim strTarget As String
Dim Copy As Long
strSource = App.Path & "\file\Database.mdb"
strTarget = dbPath
Copy = CopyFile(Trim$(strSource), Trim(strTarget), True)
End Sub

Public Sub Opendb()


Set con = New adodb.Connection
con.CursorLocation = adUseClient
con.ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath &
";Persist Security Info=False;Mode=readwrite"
con.Open
End Sub

Public Sub Openrecordset()


4

On Error Resume Next


' Open Identity table
Set rsIdentity = New adodb.Recordset
strSQL = "SELECT * FROM Identity_ order by [Times_]"
rsIdentity.Open strSQL, con, adOpenDynamic, adLockOptimistic, adCmdText
' Open Procedure table
Set rsProcedure = New adodb.Recordset
strSQL = "SELECT * FROM Procedure_ order by [Times_]"
rsProcedure.Open strSQL,con,adOpenDynamic, adLockOptimistic, adCmdText
' Open Performance table
Set rsPerformance = New adodb.Recordset
strSQL = "SELECT * FROM Performance order by [Times_]"
rsPerformance.Open strSQL, con, adOpenDynamic, adLockOptimistic, adCmdText

' Open Position table


Set rsPosition = New adodb.Recordset
strSQL = "SELECT * FROM Position_ order by [Times_]"
rsPosition.Open strSQL, con, adOpenDynamic, adLockOptimistic, adCmdText
' Open Statistic table
Set rsStatistic = New adodb.Recordset
strSQL = "SELECT * FROM Statistic_"
rsStatistic.Open strSQL, con, adOpenDynamic, adLockOptimistic, adCmdText
' Open Fixidentity table
Set rsFixidentity = New adodb.Recordset
strSQL = "SELECT * FROM Fixidentity_"
rsFixidentity.Open strSQL, con, adOpenDynamic, adLockOptimistic, adCmdText
End Sub

Public Sub updatedb()


' Update statistic
strSQL = "UPDATE Statistic_ SET [Call Attempted] = " & statistic.callatt & _ ",[Call
Connect]= " & statistic.callcon & ", [Drop Call]= " & statistic.dropcall & _ ", [Handover Return]=
" & statistic.handoverret & ", [Handover Success]= " & _ statistic.handoversucc & ", [Handover
Intra]= " & statistic.handoverintra & _
",[Handover Failed]= " & statistic.handoverfail & ", [LU Attempted]= " & _
statistic.luatt & ",[LU Success]= " & statistic.lusucc & ", [LU Failed]= " & _ statistic.lufailed & ""
con.Execute strSQL, , adCmdText
rsStatistic.Requery
' Update data to FixIdentity table
strSQL = "UPDATE Fixidentity_ SET [MCC] = '" & fixidentity.mcc & "',[MNC] = '" &
fixidentity.mnc & "',[IMEI] = '" & fixidentity.imei & "',[ProviderName] = '" &
fixidentity.provname & "',[ProviderCode] = '" & fixidentity.provcode & "' "
con.Execute strSQL, , adCmdText
End Sub

Public Sub insertdb()


On Error Resume Next
' insert data to Time table
Set rsTime = New adodb.Recordset
strSQL = "INSERT INTO Time_ (Times_) VALUES ('" & OSTime & "')"
con.Execute strSQL, , adCmdText
' Insert data to identity table
Set rsIdentity = New adodb.Recordset
strSQL = "INSERT INTO Identity_
([Times_],[Channel],[TimeAdvance],[TimeSlot],[CellID],[TMSI],[LAC],[ChannelType])
5

VALUES ('" & OSTime & "','" & identity.channel & "','" & identity.timeadv & "','" &
identity.timeslot & "','" & identity.cellid & "','" & identity.tmsi & "','" & identity.lac & "','" &
identity.channeltype & "')"
con.Execute strSQL, , adCmdText
' Insert data to performance table
Set rsPerformance = New adodb.Recordset
strSQL = "INSERT INTO Performance
([Times_],[TxLevel],[RxLevel],[RxQual],[RxNb1],[RxNb2],[RxNb3],[RxNb4],[RxNb5],[RxNb6]
,[RxNb7],[RxNb8]) VALUES ('" & OSTime & "','" & performance.txlevel & "','" &
performance.rxlevel & "','" & performance.rxqual & "','" & performance.rxnb1 & "','" &
performance.rxnb2 & "','" & performance.rxnb3 & "','" & performance.rxnb4 & "','" &
performance.rxnb5 & "','" & performance.rxnb6 & "','" & performance.rxnb7 & "','" &
performance.rxnb8 & "')"
con.Execute strSQL, , adCmdText
' Insert data to Procedure Table
Set rsProcedure = New adodb.Recordset
strSQL = "INSERT INTO Procedure_ ([Times_],[Process],[Event]) VALUES ('" & OSTime &
"','" & procedure.proced & "','" & procedure.event & "')"
con.Execute strSQL, , adCmdText
' Insert data to Position table
Set rsPosition = New adodb.Recordset
strSQL = "INSERT INTO Position_ ([Times_],[Latitude],[Latitude
Direction],[Longitude],[Longitude Direction]) VALUES ('" & OSTime & "','" & position.Latitude
& "','" & position.LatDir & "','" & position.Longitude & "','" & position.LongDir & "')"
con.Execute strSQL, , adCmdText
End Sub

console module
Option Explicit
Option Base 0
Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal
lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As
SECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal
bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal
lpCurrentDirectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As
PROCESS_INFORMATION) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal
nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As Long) As
Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal
dwMilliseconds As Long) As Long
Private Declare Function CreatePipe Lib "kernel32" (phReadPipe As Long, phWritePipe As Long,
lpPipeAttributes As SECURITY_ATTRIBUTES, ByVal nSize As Long) As Long

Private Type STARTUPINFO


cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
6

dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Long
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type

Private Type PROCESS_INFORMATION


hProcess As Long
hThread As Long
dwProcessId As Long
dwThreadId As Long
End Type
Private Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type

Private Const STD_INPUT_HANDLE = -10&


Private Const STD_OUTPUT_HANDLE = -11&
Private Const STD_ERROR_HANDLE = -12&
Private Const NORMAL_PRIORITY_CLASS As Long = &H20&
Private Const STARTF_USESTDHANDLES As Long = &H100&
Private Const STARTF_USESHOWWINDOW As Long = &H1&
Private Const SW_HIDE As Long = 0&
Private Const INFINITE As Long = &HFFFF&
Public netmonitor As String

Function gammu(command As String) As String


If Len(Trim(command)) > 0 Then
gammu = IsRunCommand(Trim(command))
End If
End Function

Private Function IsRunCommand(CommandLine As String) As String


Dim si As STARTUPINFO
Dim sa As SECURITY_ATTRIBUTES
Dim pi As PROCESS_INFORMATION
Dim retval As Long
Dim hRead As Long
Dim hWrite As Long
Dim lgSize As Long
Dim strResult As String
Dim sBuffer(0 To 63) As Byte
On Error GoTo ErrorHandler
IsRunCommand = vbNullString
'Set Up Security Attributes Structure
With sa
.nLength = Len(sa)
7

.bInheritHandle = 1&
.lpSecurityDescriptor = 0&
End With
'Create Our Anonymous Pipe An Check For Success
retval = CreatePipe(hRead, hWrite, sa, 0&)
If retval = 0 Then
MsgBox "CreatePipe Failed", vbInformation
Exit Function
End If

'Set Up Startup Info


With si
.cb = Len(si)
.dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW
.wShowWindow = SW_HIDE
'.hStdInput = GetStdHandle(STD_INPUT_HANDLE)
.hStdOutput = hWrite
'.hStdError = GetStdHandle(STD_ERROR_HANDLE)
End With
'Run The Command Line And Check For Success
retval = CreateProcess(vbNullString, CommandLine & vbNullChar, sa, sa, 1&,
NORMAL_PRIORITY_CLASS, ByVal 0&, vbNullString, si, pi)
If retval Then
WaitForSingleObject pi.hProcess, INFINITE
Do While ReadFile(hRead, sBuffer(0), 64, lgSize, ByVal 0&)
strResult = strResult & StrConv(sBuffer(), vbUnicode)
Erase sBuffer()
If lgSize <> 64 Then Exit Do
Loop
'Close The Handles Of The Process
CloseHandle pi.hProcess
CloseHandle pi.hThread
Else
MsgBox "CreateProcess Failed" & vbCrLf, vbInformation
End If
'Close Pipe Handles
CloseHandle hRead
CloseHandle hWrite
'Return The Command Line Output
IsRunCommand = Replace(strResult, vbNullChar, "")
Exit Function
ErrorHandler:
MsgBox Err.Description, vbInformation
End Function

data module
Public Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As
Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Public Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA"
(ByVal pidl As Long, ByVal pszPath As String) As Long

Public Type SHITEMID


cb As Long
abID As Byte
8

End Type

Public Type ITEMIDLIST


mkid As SHITEMID
End Type

Public Type IDENTITY_


servingcell As String
timeadv As Double
timeslot As Integer
tmsi As String
cellid As String
lac As String
channel As String
channeltype As String
End Type

Public Type PROCEDURE_


proced As String
event As String
handover As Boolean
lu As Boolean
callsetup As Boolean
idle As Boolean
End Type

Public Type PERFORMANCE_


txlevel As Integer
rxlevel As Integer
rxqual As Integer
rxnb1 As Integer
rxnb2 As Integer
rxnb3 As Integer
rxnb4 As Integer
rxnb5 As Integer
rxnb6 As Integer
rxnb7 As Integer
rxnb8 As Integer
End Type

Public Type POSITION_


Latitude As Double
LatDir As String
Longitude As Double
LongDir As String
End Type

Public Type STATISTIC_


callatt As Single
callcon As Single
dropcall As Single
handoverret As Single
handoversucc As Single
handoverintra As Single
handoverfail As Single
9

luatt As Single
lusucc As Single
lufailed As Single
End Type

Public Type FIXIDENTITY_


imei As String
provcode As String
provname As String
mnc As String
mcc As String
End Type

Public Type INIT


channel As String
chipher As String
lastcallreason As Integer
callatt As Single
callcon As Single
dropcall As Single
handoverret As Single
handoversucc As Single
handoverintra As Single
handoverfail As Single
luatt As Single
lusucc As Single
lufailed As Single
tmsi As String
End Type

Public identity As IDENTITY_


Public procedure As PROCEDURE_
Public performance As PERFORMANCE_
Public position As POSITION_
Public statistic As STATISTIC_
Public fixidentity As FIXIDENTITY_
Public initial As INIT
Public OSTime As String
Public tempdata(0 To 9) As String

skinform module
Option Explicit
' API Code on top form
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal
hWndInsertAfter As Long, ByVal X As Long, Y, ByVal cx As Long, ByVal cy As Long, ByVal
wFlags As Long) As Long
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Const TOPMOST_FLAGS = SWP_NOMOVE Or SWP_NOSIZE
10

' API Code for skin


Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal Y
As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As
Long, ByVal bRedraw As Boolean) As Long
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long,
ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1
As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
' API Code for move form without titlebar
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As
Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function ReleaseCapture Lib "user32" () As Long
Public Const RGN_OR = 2
Public Const WM_NCLBUTTONDOWN = &HA1
Public Const HTCAPTION = 2
Public Function MakeRegion(picSkin As PictureBox) As Long
On Error Resume Next
Dim X As Long, Y As Long, StartLineX As Long
Dim FullRegion As Long, LineRegion As Long
Dim TransparentColor As Long
Dim InFirstRegion As Boolean
Dim InLine As Boolean
Dim hDC As Long
Dim PicWidth As Long
Dim PicHeight As Long
hDC = picSkin.hDC
PicWidth = picSkin.ScaleWidth
PicHeight = picSkin.ScaleHeight
InFirstRegion = True: InLine = False
X = Y = StartLineX = 0
TransparentColor = GetPixel(hDC, 0, 0)
For Y = 0 To PicHeight - 1
For X = 0 To PicWidth - 1
If GetPixel(hDC, X, Y) = TransparentColor Or X = PicWidth Then
' Transparent pixel
If InLine Then
InLine = False
LineRegion = CreateRectRgn(StartLineX, Y, X, Y + 1)
If InFirstRegion Then
FullRegion = LineRegion
InFirstRegion = False
Else
CombineRgn FullRegion, FullRegion, LineRegion, RGN_OR
' Clean up mess
DeleteObject LineRegion
End If
End If
Else
If Not InLine Then
InLine = True
StartLineX = X
End If
End If
11

Next
Next
MakeRegion = FullRegion
End Function

Function MakeitSkin(xform As Form, xpicture As Object)


On Error Resume Next
Dim WindowRegion As Long
xpicture.ScaleMode = vbPixels
xpicture.AutoRedraw = True
xpicture.AutoSize = True
xpicture.BorderStyle = vbBSNone
xform.Width = xpicture.Width
xform.Height = xpicture.Height
WindowRegion = MakeRegion(xpicture)
SetWindowRgn xform.hwnd, WindowRegion, True
End Function

Sub FormNormal(lngHwnd As Long)


SetWindowPos lngHwnd, HWND_NOTOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS
End Sub

Sub FormTop(lngHwnd As Long)


SetWindowPos lngHwnd, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS
End Sub

menu utama form


Private Sub Close_Click()
Dim quit As Integer
FormNormal (Me.hwnd)
quit = MsgBox("Are you sure you want to exit ?", vbYesNo, "Exit")
If quit = vbYes Then
End
Else
FormTop (Me.hwnd)
End If
End Sub

Private Sub Form_Load()


MakeitSkin frmMenuUtama, Picture1
Call FormTop(Me.hwnd)
Me.Move 4500, 2000
End Sub

Private Sub Label1_Click()


frmAnalyzer.Show
Unload Me
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


Label5.Caption = "Analyzer"
End Sub

Private Sub Label2_Click()


12

Unload Me
frmNetMon.Show
End Sub

Private Sub Label2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


Label5.Caption = "Network Monitoring"
End Sub

Private Sub Label6_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


Label5.Caption = "Help"
End Sub

Private Sub Label7_Click()


frmAbout.Show
End Sub

Private Sub Label7_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


Label5.Caption = "About"
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


Label5.Caption = ""
If Button = 1 Then
ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End If
FormTop (Me.hwnd)
End Sub

net monitor form


Public dc As New DataConnection
Public pmode As Integer
Public gps As New GarXface4Lib.gps
Public msgLogger As New GarXface4Lib.MessageLogger
Public quit As Integer
Public msrow As Integer
Public connect As Integer
Public code As Integer
Public flow, flow1 As Integer
Public timers, en As Long

Private Sub EnableNetmon()


gammu ("c:\gammu\gammu --nokianetmonitor 243")
End Sub

Private Sub cmdAddLabel_Click()


Dim L As MapObjects2.MapLayer
Set L = New MapObjects2.MapLayer
On Error Resume Next
L.GeoDataset = dc.FindGeoDataset(cdLayer.FileTitle)
Dim lr As New MapObjects2.LabelRenderer
lr.Field = "NAMA_JALAN"
lr.DrawBackground = False
L.Renderer = lr
13

Map1.Layers.Add L
End Sub

Private Sub cmdAddLayer_Click()


cdLayer.CancelError = True
On Error GoTo cancels
cdLayer.Filter = "ShapeFile(*.shp)|*.shp|All File(*.*)|*.*"
cdLayer.InitDir = App.Path & "\file\map\"
cdLayer.ShowOpen
dc.Database = cdLayer.FileName & "\..\"
If dc.connect Then
Dim i As Integer
Dim Li As MapObjects2.MapLayer
Set Li = New MapObjects2.MapLayer
i=i+1
Li.GeoDataset = dc.FindGeoDataset(cdLayer.FileTitle)
Li.Name = (cdLayer.FileTitle)
Map1.Layers.Add Li
legend1.setMapSource Map1
legend1.LoadLegend
Else
MsgBox "direktori peta tidak ditemukan"
End If
cancels:
End Sub

Private Sub cmdConGPS_Click()


Dim comList As New GarXface4Lib.ComPortNames
Dim usbList As New GarXface4Lib.UsbDeviceNames
Dim devIndex As Integer
Dim gpsPos As GarXface4Lib.position
On Error GoTo ErrorHandler:
devIndex = Combo2.ItemData(Combo2.ListIndex)
If devIndex >= 1000 Then
devIndex = devIndex - 1000
gps.OpenUsbDevice usbList(devIndex)
Else
gps.OpenComPortDevice comList(devIndex)
End If
ErrorHandler:
End Sub

Sub GetDataGPS()
If gps.IsOpen Then
gps.RxPosition
Set gpsPos = gps.position
position.Latitude = gpsPos.Latitude
DoEvents
position.Longitude = gpsPos.Longitude
DoEvents
End If
End Sub

Sub ShowDataGPS()
txtLat.Text = position.Latitude
14

txtLong.Text = position.Longitude
If txtLat.Text < 0 Then
position.LatDir = "S"
txtLatDir.Text = position.LatDir
ElseIf txtLat.Text > 0 Then
position.LatDir = "N"
txtLatDir.Text = position.LatDir
End If
If txtLong.Text < 0 Then
position.LongDir = "W"
txtLongDir.Text = position.LongDir
ElseIf txtLong.Text > 0 Then
position.LongDir = "E"
txtLongDir.Text = position.LongDir
End If
End Sub

Sub titik_posisi()
'menampilkan titik posisi pada peta
Map1.TrackingLayer.ClearEvents
Dim pt As MapObjects2.Point
Set pt = Map1.ToMapPoint(X, Y)
pt.X = txtLong.Text
pt.Y = txtLat.Text
With Map1.TrackingLayer.Symbol(0)
.Style = moCircleMarker
.Size = 5
.Color = moRed
End With
Map1.TrackingLayer.AddEvent pt, 0
End Sub

Private Sub cmdConnect_Click()


Dim port As String
CopyFile "c:\gammu\gammurc", GetSpecialFolder(&H10) & "\..\gammurc", True
Open GetSpecialFolder(&H10) & "\..\gammurc" For Output As #1
Print #1, "[gammu]"
Print #1, ""
Print #1, "port = " & txtPort.Text & ":"
Print #1, "connection = fbus"
Close #1
Screen.MousePointer = vbHourglass
port = gammu("c:\gammu\gammu --identify")
If Mid(port, 1, 5) = "error" Or Mid(port, 1, 5) = "Error" Or Mid(port, 1, 5) = "No re" Or
Mid(port, 1, 5) = "Warni" Then
connect = 0
txtStatus.Text = port
Screen.MousePointer = vbDefault
Else
connect = 1
txtStatus.Text = "Handset Connected"
Screen.MousePointer = vbDefault
End If
tempdata(0) = gammu("c:\gammu\gammu --nokianetmonitor 11")
fixidentity.mcc = Mid(tempdata(0), 4, 3)
15

fixidentity.mnc = Mid(tempdata(0), 10, 2)


If fixidentity.mcc = "510" Then
txtCountry.Text = "Indonesia"
Else
txtCountry.Text = ""
End If
If fixidentity.mnc = "01" Then
txtName.Text = "Satelindo"
ElseIf fixidentity.mnc = "10" Then
txtName.Text = "Telkomsel"
ElseIf fixidentity.mnc = "11" Then
txtName.Text = "Excelcomindo"
End If
fixidentity.provname = txtName.Text
fixidentity.provcode = fixidentity.mcc & " " & fixidentity.mnc
End Sub

Private Sub cmdFindGPS_Click()


Dim comList As New GarXface4Lib.ComPortNames
Dim usbList As New GarXface4Lib.UsbDeviceNames
Dim n As Variant
Dim i As Integer
Combo2.Clear
i=0
For Each n1 In comList
Call AddComPortToList(CStr(n1), i)
i=i+1
Next
i=0
For Each n2 In usbList
Call AddUsbDevToList(CStr(n2), i)
i=i+1
Next
If Combo2.ListCount > 0 Then
Combo2.ListIndex = 0
End If
End Sub

Private Sub cmdRemoveLayer_Click()


On Error Resume Next
Map1.Layers.Remove Li
legend1.LoadLegend
If i = 0 Then
GoTo cancel
End If
i=i-1
cancel:
End Sub

Private Sub Form_Activate()


txtPort.Text = "Select Port"
txtPort.SetFocus
End Sub

Private Sub Form_Load()


16

quit = 0
Timer1.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Call Showgrid
End Sub

Private Sub Form_QueryUnload(cancel As Integer, UnloadMode As Integer)


If quit = 1 Then
cancel = 0
Else
cancel = 1
MsgBox "Please close application from Main Menu", vbInformation, "Alert"
End If
End Sub

Private Sub legend1_AfterSetLayerVisible(Index As Integer, isVisible As Boolean)


Map1.Refresh
End Sub

Private Sub OptFullExtent_Click()


Map1.MousePointer = moArrow
pmode = 5
End Sub

Private Sub OptNone_Click()


Map1.MousePointer = moArrow
pmode = 6
End Sub

Private Sub OptPan_Click()


Map1.MousePointer = moPan
pmode = 3
End Sub

Private Sub OptSelect_Click()


Map1.MousePointer = moArrow
pmode = 4
End Sub

Private Sub OptZoomIn_Click()


Map1.MousePointer = moZoomIn
pmode = 1
End Sub

Private Sub OptZoomOut_Click()


Map1.MousePointer = moZoomOut
pmode = 2
End Sub

Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)


Select Case pmode
Case "1"
Dim rect As MapObjects2.Rectangle
Set rect = Map1.Extent
17

rect.ScaleRectangle 0.7
Map1.Extent = rect
Case "2"
Dim rect2 As MapObjects2.Rectangle
Set rect2 = Map1.Extent
rect2.ScaleRectangle 1.5
Map1.Extent = rect2
Case "3"
Map1.Pan
Case "4"
Dim rect3 As MapObjects2.Rectangle
Set rect3 = Map1.TrackRectangle
Map1.Extent = rect3
Case "5"
Map1.Extent = Map1.FullExtent
End Select
End Sub

Private Sub tBar_ButtonClick(ByVal Button As MSComctlLib.Button)


Select Case Button.Key
Case Is = "Start"
msrow = 1
If connect = 1 Then
Call Databasename
Call Copydb
Call Opendb

Call GetDataGammuFix
Call ProcedureInitialisation
Timer1.Enabled = True
Timer2.Enabled = True
Timer3.Enabled = True
Else
MsgBox "Handset or GPS not conected", vbCritical, "Error"
End If
Case Is = "Stop"
Timer1.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Case Is = "Exit"
If Timer1.Enabled Or Timer2.Enabled Or Timer3.Enabled Then
MsgBox "Please stop monitoring before exit", vbInformation, Alert
Else
quit = 1
frmMenuUtama.Show
Unload Me
End If
End Select
End Sub

Private Sub Timer1_Timer()


Call GetDataGammu
Call GetDataGPS
en = 1
End Sub
18

Private Sub Timer2_Timer()


OSTime = Trim(Time$) & ":" & timers
txtTime.Text = OSTime
If en = 1 Then
Call ShowDataGPS
Call titik_posisi
Call DrawLine
Call ProcedureData
Call ShowData
Call insertdb
Call updatedb
End If
timers = timers + 1
End Sub

Private Sub GetDataGammuFix()


fixidentity.imei = Mid(gammu("c:\gammu\gammu --identify"), 503, 15)
fixidentity.mcc = Mid(gammu("c:\gammu\gammu --nokianetmonitor 11"), 4, 3)
fixidentity.mnc = Mid(gammu("c:\gammu\gammu --nokianetmonitor 11"), 10, 2)
End Sub

Private Sub GetDataGammu()


identity.tmsi = Mid(gammu("c:\gammu\gammu --nokianetmonitor 10"), 5, 8)
DoEvents
identity.timeslot = Val(Mid(Trim(gammu("c:\gammu\gammu --nokianetmonitor 1")), 15, 1))
DoEvents
initial.chipher = Trim(Mid(gammu("c:\gammu\gammu --nokianetmonitor 12"), 9, 3))
DoEvents
tempdata(1) = gammu("c:\gammu\gammu --nokianetmonitor 1")
DoEvents
tempdata(6) = gammu("c:\gammu\gammu --nokianetmonitor 63")
DoEvents
tempdata(7) = gammu("c:\gammu\gammu --nokianetmonitor 64")
DoEvents
tempdata(8) = gammu("c:\gammu\gammu --nokianetmonitor 41")
DoEvents
tempdata(2) = gammu("c:\gammu\gammu --nokianetmonitor 11")
DoEvents
tempdata(3) = gammu("c:\gammu\gammu --nokianetmonitor 3")
DoEvents
tempdata(4) = gammu("c:\gammu\gammu --nokianetmonitor 4")
DoEvents
tempdata(5) = gammu("c:\gammu\gammu --nokianetmonitor 5")
DoEvents
initial.lastcallreason = Val(Trim(Mid(gammu("c:\gammu\gammu --nokianetmonitor 39"), 8,
2)))
DoEvents
End Sub

Private Sub ShowData()


Dim proced As String
identity.timeadv = Val(Mid(Trim(tempdata(1)), 18, 2)) * 0.5555
identity.channel = Mid(Trim(tempdata(2)), 32, 4)
identity.lac = Mid(Trim(tempdata(2)), 19, 5)
19

identity.cellid = Mid(Trim(tempdata(2)), 43, 4)


identity.channeltype = Trim(Mid(tempdata(1), 47, 4))
' Show identity data
txtTimeAdv.Text = identity.timeadv
txtIMEI.Text = fixidentity.imei
txtLAC.Text = identity.lac
txtCID.Text = identity.cellid
txtTMSI.Text = identity.tmsi
txtChannel.Text = identity.channel
txtCT.Text = identity.channeltype
' Show procedure data
If procedure.idle Then
shpIdle.FillColor = vbGreen
proced = "Idle"
ElseIf Not procedure.idle Then
shpIdle.FillColor = vbRed
End If
If procedure.callsetup Then
shpCallSetup.FillColor = vbGreen
proced = "Call Setup"
ElseIf Not procedure.callsetup Then
shpCallSetup.FillColor = vbRed
End If
If procedure.handover Then
shpHandover.FillColor = vbGreen
proced = "Handover"
ElseIf Not procedure.handover Then
shpHandover.FillColor = vbRed
End If
If procedure.lu Then
shpLU.FillColor = vbGreen
proced = "Location Update"
ElseIf Not procedure.lu Then
shpLU.FillColor = vbRed
End If
If msrow = 5 Then
MSFlexGrid1.RemoveItem (1)
msrow = 4
End If
MSFlexGrid1.Rows = msrow
MSFlexGrid1.AddItem proced & vbTab & procedure.event
msrow = msrow + 1
End Sub

Sub Showgrid()
With MSFlexGrid1
.Refresh
.Rows = 5
.Cols = 2
.ColWidth(0) = 1500
.ColWidth(1) = 2500
.TextMatrix(0, 0) = "Procedure"
.TextMatrix(0, 1) = "Event"
End With
End Sub
20

Sub DrawLine()
Dim i As Integer
Dim data_(1 To 9) As String
Dim line_, temp(1 To 9) As Double

data_(1) = Trim(Mid(tempdata(3), 7, 3))


data_(2) = Trim(Mid(tempdata(3), 21, 3))
data_(3) = Trim(Mid(tempdata(3), 35, 3))
data_(4) = Trim(Mid(tempdata(4), 7, 3))
data_(5) = Trim(Mid(tempdata(4), 21, 3))
data_(6) = Trim(Mid(tempdata(4), 35, 3))
data_(7) = Trim(Mid(tempdata(5), 7, 3))
data_(8) = Trim(Mid(tempdata(5), 21, 3))
data_(9) = Trim(Mid(tempdata(5), 35, 3))
For i = 1 To 9
temp(i) = Val(data_(i))
If data_(i) = "xxx" Then
temp(i) = -120
ElseIf temp(i) > 0 Then
temp(i) = -temp(i)
End If
line_ = ((-120 - temp(i)) / (-80)) * 1500
If line_ <> 0 Then
lnSignal(i).Y1 = 2000 - line_
ElseIf line_ = 0 Then
lnSignal(i).Y1 = 2000
ElseIf line_ = 1500 Then
lnSignal(i).Y1 = 500
End If
Next i
performance.rxlevel = temp(1)
performance.rxnb1 = temp(2)
performance.rxnb2 = temp(3)
performance.rxnb3 = temp(4)
performance.rxnb4 = temp(5)
performance.rxnb5 = temp(6)
performance.rxnb6 = temp(7)
performance.rxnb7 = temp(8)
performance.rxnb8 = temp(9)
performance.txlevel = Val(Trim(Mid(tempdata(1), 11, 3)))
performance.rxqual = Val(Trim(Mid(tempdata(1), 19, 1)))
End Sub

Sub AddComPortToList(port As String, i As Integer)


Dim pd As GarXface4Lib.ProductData
Set pd = gps.ProductData
On Error GoTo HandleError
gps.OpenComPortDevice port
Combo2.AddItem pd.Description + " (" + port + ")"
Combo2.ItemData(Combo2.NewIndex) = i
HandleError:
If gps.IsOpen() Then
gps.Close
Exit Sub
21

End If
End Sub

Sub AddUsbDevToList(port As String, i As Integer)


Dim pd As GarXface4Lib.ProductData
Set pd = gps.ProductData

On Error GoTo HandleError


gps.OpenUsbDevice port
gps.RxUnitID
Combo2.AddItem pd.Description + " (Unit ID: " + gps.UnitID + ")"
Combo2.ItemData(Combo2.NewIndex) = 1000 + i
HandleError:
If gps.IsOpen() Then
gps.Close
Exit Sub
End If
End Sub

Private Sub ProcedureInitialisation()


tempdatas = gammu("c:\gammu\gammu --nokianetmonitor 63")
initial.callatt = Val(Trim(Mid(tempdatas, 15, 6)))
initial.callcon = Val(Trim(Mid(tempdatas, 21, 4)))
tempdatas = gammu("c:\gammu\gammu --nokianetmonitor 41")
initial.handoversucc = Val(Trim(Mid(tempdatas, 9, 4)))
initial.handoverret = Val(Trim(Mid(tempdatas, 23, 4)))
initial.handoverfail = Val(Trim(Mid(tempdatas, 37, 4)))
initial.handoverintra = Val(Trim(Mid(tempdatas, 51, 4)))
tempdatas = gammu("c:\gammu\gammu --nokianetmonitor 64")
initial.luatt = Val(Trim(Mid(tempdatas, 5, 4)))
initial.lusucc = Val(Trim(Mid(tempdatas, 9, 4)))
initial.tmsi = Trim(Mid(gammu("c:\gammu\gammu --nokianetmonitor 10"), 5, 8))
procedure.idle = True
statistic.callatt = 0
statistic.callcon = 0
statistic.dropcall = 0
statistic.handoverfail = 0
statistic.handoverret = 0
statistic.handoversucc = 0
statistic.luatt = 0
statistic.lufailed = 0
statistic.lusucc = 0
Set rsStatistic = New adodb.Recordset
strSQL = "SELECT * FROM Statistic_"
rsStatistic.Open strSQL, con, adOpenKeyset, adLockReadOnly
End Sub

Sub ProcedureData()
initial.channel = Trim(Mid(tempdata(1), 47, 4))
If procedure.handover Then
procedure.proced = "Handover"
procedure.idle = False
ElseIf (Not procedure.handover) And (Not procedure.callsetup) And (Not procedure.lu) Then
procedure.idle = True
End If
22

If procedure.handover Then
GoTo last
ElseIf procedure.lu Then
GoTo lu
End If
'Call setup
If Not procedure.callsetup Then
If Val(Mid(tempdata(6), 15, 6)) <> (initial.callatt + statistic.callatt) Then
procedure.callsetup = True
procedure.idle = False
procedure.proced = "Call Setup"
procedure.event = "Call attempted"
statistic.callatt = statistic.callatt + 1
code = 1
flow = 0
flow1 = 0
GoTo last:
End If
End If
If procedure.callsetup Then
procedure.proced = "Call Setup"
If initial.channel = "AGCH" Then
If flow1 = 1 Then
procedure.event = "Call release, channel in use AGCH"
GoTo last
End If
procedure.event = "Radio resource connection establishment, channel in use AGCH"
ElseIf initial.channel = "SDCC" Then
If flow1 = 1 Then
procedure.event = "Call release, channel in use SDCC"
GoTo last
End If
procedure.event = "Radio resource connection establishment, channel in use SDCC"
ElseIf code Then
procedure.event = "Enable ciphering mode with " & initial.chipher
code = 0
ElseIf Val(Trim(Mid(tempdata(6), 21, 4))) <> (initial.callcon + statistic.callcon) Then
statistic.callcon = statistic.callcon + 1
procedure.event = "Call connect"
flow1 = 1
flow = 2
ElseIf initial.channel = "TEFR" Or initial.channel = "THR0" Or initial.channel = "THR1"
Then
If flow = 1 Then
procedure.event = "Call Alert"
flow1 = 1
GoTo lu
End If
If flow = 2 Then
procedure.event = "Conversation phase"
flow1 = 1
procedure.proced = "Call Setup"
GoTo lu
End If
procedure.event = "Channel mode modify"
23

flow = 1
ElseIf initial.channel = "BCCH" Then
procedure.event = "Call release, channel in use BCCH"
flow1 = 1
ElseIf initial.channel = "CBCH" Then
If flow1 = 2 Then
procedure.callsetup = False
procedure.idle = True
GoTo idles
End If
If initial.lastcallreason = "16" Or initial.lastcallreason = "17" Or initial.lastcallreason =
"18" Or initial.lastcallreason = "19" Or initial.lastcallreason = "20" Or initial.lastcallreason = "21"
Or initial.lastcallreason = "22" Or initial.lastcallreason = "28" Then
procedure.event = "Call release complete"
flow1 = 2
GoTo last
Else
procedure.event = "Drop call"
statistic.dropcall = statistic.dropcall + 1
flow1 = 2
GoTo last
End If
End If
End If
idles:
'Idle
If procedure.idle Then
procedure.proced = "Idle"
procedure.event = "Channel in use " & initial.channel
End If
lu:
'Location Update
If Not procedure.lu Then
If Trim(Mid(tempdata(7), 5, 4)) <> (initial.luatt + statistic.luatt) Then
procedure.proced = "Location Update"
procedure.event = "Location update attempted"
code = 1
flow = 0
flow1 = 0
statistic.luatt = statistic.luatt + 1
procedure.lu = True
procedure.idle = False
GoTo last
End If
End If
If procedure.lu Then
procedure.proced = "Location Update"
If initial.channel = "AGCH" Then
If flow1 = 1 Then
procedure.event = "Radio resource connection release, channel in use AGCH"
GoTo last
End If
procedure.event = "Radio resource connection setup, channel in use AGCH"
ElseIf initial.channel = "SDCC" Then
If flow1 = 1 Then
24

procedure.event = "Radio resource connection release, channel in use SDCC"


GoTo last
End If
procedure.event = "Radio resource connection setup, channel in use SDCC"
ElseIf code And Not initial.chipher = "OFF" Then
procedure.event = "Enable ciphering mode with " & initial.chipher
code = 0
flow1 = 1
ElseIf identity.tmsi <> initial.tmsi Then
procedure.event = "TMSI realocation"
flow1 = 1
initial.tmsi = identity.tmsi
ElseIf initial.channel = "BCCH" Then
procedure.event = "Radio resource connection release, channel in use BCCH"
flow1 = 1
ElseIf initial.channel = "CBCH" Then
If flow = 4 Then
procedure.lu = False
If procedure.callsetup Then
flow = 2
GoTo last
End If
procedure.idle = True
GoTo last
End If
If Val(Trim(Mid(tempdata(7), 9, 4))) = (initial.lusucc + statistic.lusucc + 1) Then
procedure.event = "Location Update Success"
statistic.lusucc = statistic.lusucc + 1
Else
procedure.event = "Location Update failed"
statistic.lufailed = statistic.lufailed + 1
End If
flow = 4
End If
End If
last:
' Handover
If Val(Trim(Mid(tempdata(8), 37, 4))) = (initial.handoverfail + statistic.handoverfail + 1) Then
procedure.proced = "Handover"
procedure.event = "Handover command"
procedure.handover = True
statistic.handoverfail = statistic.handoverfail + 1
flow = 7
ElseIf Val(Trim(Mid(tempdata(8), 51, 4))) = (initial.handoverintra + statistic.handoverintra + 1)
Then
procedure.proced = "Handover"
procedure.event = "Intra handover command"
procedure.handover = True
statistic.handoverintra = statistic.handoverintra + 1
flow = 8
ElseIf Val(Trim(Mid(tempdata(8), 9, 4))) = (initial.handoversucc + statistic.handoversucc + 1)
Then
procedure.proced = "Handover"
procedure.event = "Handover command"
procedure.handover = True
25

statistic.handoversucc = statistic.handoversucc + 1
flow = 5
ElseIf Val(Trim(Mid(tempdata(8), 23, 4))) = (initial.handoverret + statistic.handoverret + 1)
Then
procedure.proced = "Handover"
procedure.event = "Handover command"
procedure.handover = True
statistic.handoverret = statistic.handoverret + 1
flow = 6
ElseIf flow = 8 Then
procedure.event = "Intracell handover sucess"
procedure.handover = False
flow = 2
ElseIf flow = 5 Then
procedure.event = "Handover success"
procedure.handover = False
flow = 2
ElseIf flow = 6 Then
procedure.event = "Handover returned to previous channel "
procedure.handover = False
flow = 2
ElseIf flow = 7 Then
procedure.event = "Handover failed"
procedure.handover = False
flow = 2
End If
End Sub

Private Sub Timer3_Timer()


timers = timers + 1
If timers >= 9 Then
timers = 0
End If
End Sub

Private Sub txtDelay_Change()


If Val(txtDelay.Text) > 0 And Val(txtDelay.Text) < 25000 Then
Timer2.Interval = txtDelay.Text
Else
txtDelay.Text = 500
Timer2.Interval = 500
End If
End Sub

Private Sub txtPort_Click()


txtPort.Text = "com1"
End Sub

Private Function GetSpecialFolder(CSIDL As Long) As String


Dim r As Long
Dim IDL As ITEMIDLIST
r = SHGetSpecialFolderLocation(100, CSIDL, IDL)
If r = NOERROR Then
Path$ = Space$(512)
r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$)
26

GetSpecialFolder = Left$(Path, InStr(Path, Chr$(0)) - 1)


Exit Function
End If
GetSpecialFolder = ""
End Function

Analyzer form

Public quit As Integer


Public dc As New DataConnection
Public pmode, p2mode, p3mode, p4mode As Integer
Public rxQ, rxQ1, rxQ2, rxQ3, rxQ4, rxQ5, rxQ6, rxQ7, rxQ8 As Integer
Public rxL, rxL1, rxL2, rxL3, rxL4, rxL5, rxL6 As Integer
Public txL, txL1, txL2, txL3, txL4, txL5, txL6 As Integer
Public startp, endp As Integer

Private Sub chkCallSetup_Click()


Call MapData
End Sub

Private Sub chkHandover_Click()


Call MapData
End Sub

Private Sub chkIdle_Click()


Call MapData
End Sub

Private Sub chkLU_Click()


Call MapData
End Sub

Private Sub cmdAddLabel_Click()


Dim lr As New MapObjects2.LabelRenderer
Dim L As MapObjects2.MapLayer
Set L = New MapObjects2.MapLayer
On Error Resume Next

L.GeoDataset = dc.FindGeoDataset(cdlayer2.FileTitle)
lr.Field = "NAMA_JALAN"
lr.DrawBackground = False
L.Renderer = lr
Map1.Layers.Add L
Map2.Layers.Add L
Map3.Layers.Add L
Map4.Layers.Add L
legend1.LoadLegend
End Sub

Private Sub cmdEnd_Click()


If grdPosition.Row < startp Then
MsgBox "End point time must be more than start point time", vbInformation, Alert
Exit Sub
End If
txtLockEnd = txtEnd.Text
27

endp = grdPosition.Row
End Sub

Private Sub cmdFullExtent_Click()


p2mode = 5
Map2.MousePointer = moArrow
End Sub

Private Sub cmdFullXtent2_Click()


p3mode = 5
Map3.MousePointer = moArrow
End Sub

Private Sub cmdIdentify_Click()


p2mode = 6
Map2.MousePointer = moIdentify
End Sub

Private Sub cmdIdentify2_Click()


p3mode = 6
Map3.MousePointer = moIdentify
End Sub

Private Sub cmdIdentify3_Click()


p4mode = 6
Map4.MousePointer = moIdentify
End Sub

Private Sub cmdPan_Click()


p2mode = 3
Map2.MousePointer = moPan
End Sub

Private Sub cmdPan2_Click()


p3mode = 3
Map3.MousePointer = moPan
End Sub

Private Sub cmdPan3_Click()


p4mode = 3
Map4.MousePointer = moPan
End Sub

Private Sub cmdSelect_Click()


p2mode = 4
Map2.MousePointer = moArrow
End Sub

Private Sub cmdSelect2_Click()


p3mode = 4
Map3.MousePointer = moArrow
End Sub

Private Sub cmdSelect3_Click()


p4mode = 4
28

Map4.MousePointer = moArrow
End Sub

Private Sub cmdStart_Click()


txtLockStart = txtStart.Text
startp = grdPosition.Row
End Sub

Private Sub cmdTrack_Click()


On Error Resume Next
rsPosition.MoveFirst
Dim pt As MapObjects2.Point
Set pt = Map1.ToMapPoint(X, Y)
Map1.TrackingLayer.ClearEvents
Set grdPosition.DataSource = Nothing
rsPosition.Find "[Times_]='" & txtLockStart.Text & "'"

While Not rsPosition.EOF


With Map1.TrackingLayer.Symbol(0)
.Style = moCircleMarker
.Size = 5
.Color = moRed
End With
With Map2.TrackingLayer.Symbol(0)
.Style = moCircleMarker
.Size = 5
.Color = moRed
End With
pt.X = rsPosition![Longitude]
pt.Y = rsPosition![Latitude]
Map1.TrackingLayer.AddEvent pt, 0
Map2.TrackingLayer.AddEvent pt, 0
rsPosition.MoveNext
If rsPosition![Times_] = txtLockEnd.Text Then
GoTo exits
End If
Wend
'cmdTrack_Click
exits:
Set grdPosition.DataSource = rsPosition
End Sub

Private Sub cmdZoomIN2_Click()


p3mode = 1
Map3.MousePointer = moZoomIn
End Sub

Private Sub cmdZoomOut2_Click()


p3mode = 2
Map3.MousePointer = moZoomOut
End Sub

Private Sub grdPerform_RowColChange(LastRow As Variant, ByVal LastCol As Integer)


txtTxLevel.Text = rsPerformance![txlevel]
txtRxLevel.Text = rsPerformance![rxlevel]
29

txtRxQual.Text = rsPerformance![rxqual]
txtRxNb1.Text = rsPerformance![rxnb1]
txtRxNb2.Text = rsPerformance![rxnb2]
txtRxNb3.Text = rsPerformance![rxnb3]
txtRxNb4.Text = rsPerformance![rxnb4]
txtRxNb5.Text = rsPerformance![rxnb5]
txtRxNb6.Text = rsPerformance![rxnb6]
txtRxNb7.Text = rsPerformance![rxnb7]
txtRxNb8.Text = rsPerformance![rxnb8]
End Sub

Private Sub grdPosition_RowColChange(LastRow As Variant, ByVal LastCol As Integer)


txtStart.Text = rsPosition![Times_]
txtEnd.Text = rsPosition![Times_]
End Sub

Private Sub CmdAddLayer2_Click()


cdlayer2.CancelError = True
On Error GoTo ErrorHandler
cdlayer2.Filter = "ShapeFile(*.shp)|*.shp|All File(*.*)|*.*"
cdlayer2.InitDir = App.Path & "\file\map\"
cdlayer2.ShowOpen
dc.Database = cdlayer2.FileName & "\..\"
If dc.connect Then
Dim i As Integer
Dim Li As MapObjects2.MapLayer
Set Li = New MapObjects2.MapLayer
i=i+1
Li.GeoDataset = dc.FindGeoDataset(cdlayer2.FileTitle)
Li.Name = (cdlayer2.FileTitle)
Map1.Layers.Add Li
Map2.Layers.Add Li
Map3.Layers.Add Li
Map4.Layers.Add Li
legend1.setMapSource Map1
legend1.LoadLegend
Else
MsgBox "direktori peta tidak ditemukan"
End If
ErrorHandler:
End Sub

Private Sub cmdFullXtent_Click()


Map2.Extent = Map2.FullExtent
End Sub

Private Sub cmdRemoveLayer2_Click()


On Error Resume Next
Map1.Layers.Remove Li
Map2.Layers.Remove Li
Map3.Layers.Remove Li
Map4.Layers.Remove Li
legend1.LoadLegend
i=i-1
End Sub
30

Private Sub cmdZoomIN_Click()


p2mode = 1
Map2.MousePointer = moZoomIn
End Sub

Private Sub cmdZoomIN3_Click()


p4mode = 1
Map4.MousePointer = moZoomIn
End Sub

Private Sub cmdZoomOut_Click()


p2mode = 2
Map2.MousePointer = moZoomOut
End Sub

Private Sub cmdFullXtentt3_Click()


p4mode = 5
Map4.MousePointer = moArrow
End Sub

Private Sub cmdZoomOut3_Click()


p4mode = 2
Map4.MousePointer = moZoomOut
End Sub

Private Sub grdProcedure_RowColChange(LastRow As Variant, ByVal LastCol As Integer)


Text14.Text = rsProcedure![Times_]
End Sub

Private Sub OptFullExtent2_Click()


Map1.MousePointer = moArrow
pmode = 5
End Sub

Private Sub OptIdentify_Click()


Map1.MousePointer = moIdentify
pmode = 6
End Sub

Private Sub OptNone2_Click()


Map1.MousePointer = moArrow
pmode = 7
End Sub

Private Sub OptPan2_Click()


Map1.MousePointer = moPan
pmode = 3
End Sub

Private Sub optRxLevel_Click()


Call trackRxLevel
txtRxLvLgnd1.Text = (rxL1 / rxL) * 100
txtRxLvLgnd2.Text = (rxL2 / rxL) * 100
txtRxLvLgnd3.Text = (rxL3 / rxL) * 100
31

txtRxLvLgnd4.Text = (rxL4 / rxL) * 100


txtRxLvLgnd5.Text = (rxL5 / rxL) * 100
txtRxLvLgnd6.Text = (rxL6 / rxL) * 100
frmRxLvLgnd.Visible = True
frmRxQualLgnd.Visible = False
frmTxLvLgnd.Visible = False
End Sub

Private Sub OptRxqual_Click()


Call trackRxQual
txtRxQualLgnd1.Text = (rxQ1 / rxQ) * 100
txtRxQualLgnd2.Text = (rxQ2 / rxQ) * 100
txtRxQualLgnd3.Text = (rxQ3 / rxQ) * 100
txtRxQualLgnd4.Text = (rxQ4 / rxQ) * 100
txtRxQualLgnd5.Text = (rxQ5 / rxQ) * 100
txtRxQualLgnd6.Text = (rxQ6 / rxQ) * 100
txtRxQualLgnd7.Text = (rxQ7 / rxQ) * 100
txtRxQualLgnd8.Text = (rxQ8 / rxQ) * 100
frmRxQualLgnd.Visible = True
frmTxLvLgnd.Visible = False
frmRxLvLgnd.Visible = False
End Sub

Sub trackRxLevel()
On Error Resume Next
Dim pt As New MapObjects2.Point
Set pt = Map3.ToMapPoint(X, Y)
Set grdPerform.DataSource = Nothing
Set grdPosition.DataSource = Nothing
On Error GoTo error
rsPerformance.MoveFirst
rsPosition.MoveFirst
Map3.TrackingLayer.ClearEvents
Dim tempx As Integer
Map3.TrackingLayer.SymbolCount = 6
While Not rsPerformance.EOF
With Map3.TrackingLayer.Symbol(0)
.Style = moCircleMarker
.Size = 5
.Color = moCyan
End With
With Map3.TrackingLayer.Symbol(1)
.Style = moCircleMarker
.Size = 5
.Color = moBlue
End With
With Map3.TrackingLayer.Symbol(2)
.Style = moCircleMarker
.Size = 5
.Color = moGreen
End With
With Map3.TrackingLayer.Symbol(3)
.Style = moCircleMarker
.Size = 5
.Color = moYellow
32

End With
With Map3.TrackingLayer.Symbol(4)
.Style = moCircleMarker
.Size = 5
.Color = moRed
End With
With Map3.TrackingLayer.Symbol(5)
.Style = moCircleMarker
.Size = 5
.Color = moBlack
End With
rsPosition.Find "[Times_] = '" & rsPerformance![Times_] & "'"
pt.X = rsPosition![Longitude]
pt.Y = rsPosition![Latitude]
tempx = Abs(rsPerformance![rxlevel])
If tempx < 65 Then
Map3.TrackingLayer.AddEvent pt, 0
rxL1 = rxL1 + 1
rxL = rxL + 1
ElseIf tempx <= 75 Then
Map3.TrackingLayer.AddEvent pt, 1
rxL2 = rxL2 + 1
rxL = rxL + 1
ElseIf tempx <= 85 Then
Map3.TrackingLayer.AddEvent pt, 2
rxL3 = rxL3 + 1
rxL = rxL + 1
ElseIf tempx <= 95 Then
Map3.TrackingLayer.AddEvent pt, 3
rxL4 = rxL4 + 1
rxL = rxL + 1
ElseIf tempx <= 105 Then
Map3.TrackingLayer.AddEvent pt, 4
rxL5 = rxL5 + 1
rxL = rxL + 1
Else
Map3.TrackingLayer.AddEvent pt, 5
rxL6 = rxL6 + 1
rxL = rxL + 1
End If
rsPerformance.MoveNext
Wend
error:
Set grdPerform.DataSource = rsPerformance
Set grdPosition.DataSource = rsPosition
End Sub

Sub trackRxQual()
On Error Resume Next
Dim pt As New MapObjects2.Point
Set pt = Map3.ToMapPoint(X, Y)
Set grdPerform.DataSource = Nothing
Set grdPosition.DataSource = Nothing
On Error GoTo error
rsPerformance.MoveFirst
33

rsPosition.MoveFirst
Map3.TrackingLayer.ClearEvents
Dim tempx As String
Map3.TrackingLayer.SymbolCount = 8
While Not rsPerformance.EOF
With Map3.TrackingLayer.Symbol(0)
.Style = moCircleMarker
.Size = 5
.Color = moBlue
End With
With Map3.TrackingLayer.Symbol(1)
.Style = moCircleMarker
.Size = 5
.Color = moCyan
End With
With Map3.TrackingLayer.Symbol(2)
.Style = moCircleMarker
.Size = 5
.Color = moDarkGreen
End With
With Map3.TrackingLayer.Symbol(3)
.Style = moCircleMarker
.Size = 5
.Color = moGreen
End With
With Map3.TrackingLayer.Symbol(4)
.Style = moCircleMarker
.Size = 5
.Color = moYellow
End With
With Map3.TrackingLayer.Symbol(5)
.Style = moCircleMarker
.Size = 5
.Color = moOrange
End With
With Map3.TrackingLayer.Symbol(6)
.Style = moCircleMarker
.Size = 5
.Color = moRed
End With
With Map3.TrackingLayer.Symbol(7)
.Style = moCircleMarker
.Size = 5
.Color = moBlack
End With
rsPosition.Find "[Times_] = '" & rsPerformance![Times_] & "'"
pt.X = rsPosition![Longitude]
pt.Y = rsPosition![Latitude]
tempx = rsPerformance![rxqual]
If tempx = "0" Then
Map3.TrackingLayer.AddEvent pt, 0
rxQ1 = rxQ1 + 1
rxQ = rxQ + 1
ElseIf tempx = "1" Then
Map3.TrackingLayer.AddEvent pt, 1
34

rxQ2 = rxQ2 + 1
rxQ = rxQ + 1
ElseIf tempx = "2" Then
Map3.TrackingLayer.AddEvent pt, 2
rxQ3 = rxQ3 + 1
rxQ = rxQ + 1
ElseIf tempx = "3" Then
Map3.TrackingLayer.AddEvent pt, 3
rxQ4 = rxQ4 + 1
rxQ = rxQ + 1
ElseIf tempx = "4" Then
Map3.TrackingLayer.AddEvent pt, 4
rxQ5 = rxQ5 + 1
rxQ = rxQ + 1
ElseIf tempx = "5" Then
Map3.TrackingLayer.AddEvent pt, 5
rxQ6 = rxQ6 + 1
rxQ = rxQ + 1
ElseIf tempx = "6" Then
Map3.TrackingLayer.AddEvent pt, 6
rxQ7 = rxQ7 + 1
rxQ = rxQ + 1
Else
Map3.TrackingLayer.AddEvent pt, 7
rxQ8 = rxQ8 + 1
rxQ = rxQ + 1
End If
rsPerformance.MoveNext
Wend
error:
Set grdPerform.DataSource = rsPerformance
Set grdPosition.DataSource = rsPosition
End Sub

Private Sub OptSelect2_Click()


Map1.MousePointer = moArrow
pmode = 4
End Sub

Private Sub optTxLevel_Click()


Call trackTxLevel
txtTxLvLgnd1.Text = (txL6 / txL) * 100
txtTxLvLgnd2.Text = (txL5 / txL) * 100
txtTxLvLgnd3.Text = (txL4 / txL) * 100
txtTxLvLgnd4.Text = (txL3 / txL) * 100
txtTxLvLgnd5.Text = (txL2 / txL) * 100
txtTxLvLgnd6.Text = (txL1 / txL) * 100
frmTxLvLgnd.Visible = True
frmRxQualLgnd.Visible = False
frmRxLvLgnd.Visible = False
End Sub
Sub trackTxLevel()
On Error Resume Next
Dim pt As New MapObjects2.Point
Set pt = Map3.ToMapPoint(X, Y)
35

Set grdPerform.DataSource = Nothing


Set grdPosition.DataSource = Nothing
On Error GoTo error
rsPerformance.MoveFirst
rsPosition.MoveFirst
Map3.TrackingLayer.ClearEvents
Dim tempx As Integer
Map3.TrackingLayer.SymbolCount = 6
While Not rsPerformance.EOF
With Map3.TrackingLayer.Symbol(0)
.Style = moCircleMarker
.Size = 5
.Color = moCyan
End With
With Map3.TrackingLayer.Symbol(1)
.Style = moCircleMarker
.Size = 5
.Color = moBlue
End With
With Map3.TrackingLayer.Symbol(2)
.Style = moCircleMarker
.Size = 5
.Color = moGreen
End With
With Map3.TrackingLayer.Symbol(3)
.Style = moCircleMarker
.Size = 5
.Color = moYellow
End With
With Map3.TrackingLayer.Symbol(4)
.Style = moCircleMarker
.Size = 5
.Color = moRed
End With
With Map3.TrackingLayer.Symbol(5)
.Style = moCircleMarker
.Size = 5
.Color = moBlack
End With
rsPosition.Find "[Times_] = '" & rsPerformance![Times_] & "'"
pt.X = rsPosition![Longitude]
pt.Y = rsPosition![Latitude]
tempx = rsPerformance![txlevel]
If tempx < -20 Then
Map3.TrackingLayer.AddEvent pt, 0
txL1 = txL1 + 1
txL = txL + 1
ElseIf tempx <= -10 Then
Map3.TrackingLayer.AddEvent pt, 1
txL2 = txL2 + 1
txL = txL + 1
ElseIf tempx <= 3 Then
Map3.TrackingLayer.AddEvent pt, 2
txL3 = txL3 + 1
txL = txL + 1
36

ElseIf tempx <= 13 Then


Map3.TrackingLayer.AddEvent pt, 3
txL4 = txL4 + 1
txL = txL + 1
ElseIf tempx <= 23 Then
Map3.TrackingLayer.AddEvent pt, 4
txL5 = txL5 + 1
txL = txL + 1
Else
Map3.TrackingLayer.AddEvent pt, 5
txL6 = txL6 + 1
txL = txL + 1
End If
rsPerformance.MoveNext
Wend
error:
Set grdPerform.DataSource = rsPerformance
Set grdPosition.DataSource = rsPosition
End Sub
Private Sub OptZoomIn2_Click()
Map1.MousePointer = moZoomIn
pmode = 1
End Sub

Private Sub OptZoomOut2_Click()


Map1.MousePointer = moZoomOut
pmode = 2
End Sub
Private Sub legend1_AfterSetLayerVisible(Index As Integer, isVisible As Boolean)
Map1.Refresh
End Sub

Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)


Select Case pmode
Case "1"
Dim rect As MapObjects2.Rectangle
Set rect = Map1.Extent
rect.ScaleRectangle 0.7
Map1.Extent = rect
Case "2"
Dim rect2 As MapObjects2.Rectangle
Set rect2 = Map1.Extent
rect2.ScaleRectangle 1.5
Map1.Extent = rect2
Case "3"
Map1.Pan
Case "4"
Dim rect3 As MapObjects2.Rectangle
Set rect3 = Map1.TrackRectangle
Map1.Extent = rect3
Case "5"
Map1.Extent = Map1.FullExtent
Case "6"
Dim p As MapObjects2.Point
Set p = Map1.ToMapPoint(X, Y)
37

Dim a, b, c, d, e, f, t, er As Double
If Map1.Layers.Count = 0 Then
GoTo error
End If
On Error Resume Next
rsPosition.MoveFirst

a = p.X
b = p.Y
er = 10
Set grdPosition.DataSource = Nothing
While Not rsPosition.EOF
c = rsPosition![Longitude]
d = rsPosition![Latitude]
e = Abs(a - c)
f = Abs(b - d)
If er >= (e + f) Then
er = e + f
t = rsPosition![Times_]
End If
rsPosition.MoveNext
Wend
error:
Set grdPosition.DataSource = rsPosition
'Text1.Text = t
End Select
End Sub

Private Sub Map2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)


Select Case p2mode
Case "1"
Dim rect As MapObjects2.Rectangle
Set rect = Map2.Extent
rect.ScaleRectangle 0.7
Map2.Extent = rect
Case "2"
Dim rect2 As MapObjects2.Rectangle
Set rect2 = Map2.Extent
rect2.ScaleRectangle 1.5
Map2.Extent = rect2
Case "3"
Map2.Pan
Case "4"
Dim rect3 As MapObjects2.Rectangle
Set rect3 = Map2.TrackRectangle
Map2.Extent = rect3
Case "5"
Map2.Extent = Map2.FullExtent
Case "6"
Dim p As MapObjects2.Point
Set p = Map2.ToMapPoint(X, Y)
Dim a, b, c, d, e, f, t, er As Double
If Map2.Layers.Count = 0 Then
GoTo error
End If
38

On Error Resume Next


rsPosition.MoveFirst
a = p.X
b = p.Y
er = 10
Set grdPosition.DataSource = Nothing
While Not rsPosition.EOF
c = rsPosition![Longitude]
d = rsPosition![Latitude]
e = Abs(a - c)
f = Abs(b - d)
If er >= (e + f) Then
er = e + f
t = rsPosition![Times_]
End If
rsPosition.MoveNext
Wend
Set grdIdentity.DataSource = Nothing
rsIdentity.Find "[Times_]='" & t & "'"
'tampilkan data
Text15.Text = rsIdentity![channeltype]
Text16.Text = rsIdentity![channel]
Text17.Text = rsIdentity![cellid]
Text18.Text = rsIdentity![lac]
Text19.Text = rsIdentity![TimeAdvance]
Text20.Text = rsIdentity![timeslot]
error:
Set grdPosition.DataSource = rsPosition
Set grdIdentity.DataSource = rsIdentity
End Select
End Sub

Private Sub Map4_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)


Select Case p4mode
Case "1"
Dim rect As MapObjects2.Rectangle
Set rect = Map4.Extent
rect.ScaleRectangle 0.7
Map4.Extent = rect
Case "2"
Dim rect2 As MapObjects2.Rectangle
Set rect2 = Map4.Extent
rect2.ScaleRectangle 1.5
Map4.Extent = rect2
Case "3"
Map4.Pan
Case "4"
Dim rect3 As MapObjects2.Rectangle
Set rect3 = Map4.TrackRectangle
Map4.Extent = rect3
Case "5"
Map4.Extent = Map4.FullExtent
Case "6"
Dim p As MapObjects2.Point
Set p = Map4.ToMapPoint(X, Y)
39

Dim a, b, c, d, e, f, t, er As Double
If Map4.Layers.Count = 0 Then
GoTo error
End If
On Error Resume Next
rsPosition.MoveFirst

a = p.X
b = p.Y
er = 10
Set grdPosition.DataSource = Nothing
While Not rsPosition.EOF
c = rsPosition![Longitude]
d = rsPosition![Latitude]
e = Abs(a - c)
f = Abs(b - d)
If er >= (e + f) Then
er = e + f
t = rsPosition![Times_]
End If
rsPosition.MoveNext
Wend
Set grdProcedure.DataSource = Nothing
rsProcedure.Find "[Times_]='" & t & "'"
Text14.Text = rsProcedure![Times_]
error:
Set grdPosition.DataSource = rsPosition
Set grdProcedure.DataSource = rsProcedure
End Select
End Sub

Private Sub Map3_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)


Select Case p3mode
Case "1"
Dim rect As MapObjects2.Rectangle
Set rect = Map3.Extent
rect.ScaleRectangle 0.7
Map3.Extent = rect
Case "2"
Dim rect2 As MapObjects2.Rectangle
Set rect2 = Map3.Extent
rect2.ScaleRectangle 1.5
Map3.Extent = rect2
Case "3"
Map3.Pan
Case "4"
Dim rect3 As MapObjects2.Rectangle
Set rect3 = Map3.TrackRectangle
Map3.Extent = rect3
Case "5"
Map3.Extent = Map3.FullExtent
Case "6"
Dim p As MapObjects2.Point
Set p = Map3.ToMapPoint(X, Y)
Dim a, b, c, d, e, f, t, er As Double
40

If Map3.Layers.Count = 0 Then
GoTo error
End If
On Error Resume Next
rsPosition.MoveFirst

a = p.X
b = p.Y
er = 10
Set grdPosition.DataSource = Nothing
While Not rsPosition.EOF
c = rsPosition![Longitude]
d = rsPosition![Latitude]
e = Abs(a - c)
f = Abs(b - d)
If er >= (e + f) Then
er = e + f
t = rsPosition![Times_]
End If
rsPosition.MoveNext
Wend
Set grdPerform.DataSource = Nothing
rsPerformance.Find "[Times_]='" & t & "'"
txtTxLevel.Text = rsPerformance![txlevel]
txtRxLevel.Text = rsPerformance![rxlevel]
txtRxQual.Text = rsPerformance![rxqual]
txtRxNb1.Text = rsPerformance![rxnb1]
txtRxNb2.Text = rsPerformance![rxnb2]
txtRxNb3.Text = rsPerformance![rxnb3]
txtRxNb4.Text = rsPerformance![rxnb4]
txtRxNb5.Text = rsPerformance![rxnb5]
txtRxNb6.Text = rsPerformance![rxnb6]
txtRxNb7.Text = rsPerformance![rxnb7]
txtRxNb8.Text = rsPerformance![rxnb8]
error:
Set grdPosition.DataSource = rsPosition
Set grdPerform.DataSource = rsPerformance
End Select
End Sub
Private Sub Map1_mousemove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim p As MapObjects2.Point
Set p = Map1.ToMapPoint(X, Y)
Dim cx As String, cy As String
cx = p.X
cy = p.Y
cx = Left(cx, InStr(cx, ".") + 10)
cy = Left(cy, InStr(cy, ".") + 10)
Text3.Text = "X:" & cx & " Y:" & cy
End Sub

Private Sub Form_Load()


quit = 0
Call MakeGrid
End Sub
41

Private Sub Form_QueryUnload(cancel As Integer, UnloadMode As Integer)


If quit = 1 Then
cancel = 0
Else
cancel = 1
MsgBox "Please close application from Main Menu", vbInformation, "Alert"
End If
End Sub

Private Sub ShowData()


'On Error Resume Next
' Show Statistic Data
With rsStatistic
.MoveFirst
txtCallAtt.Text = ![Call Attempted]
txtCallCon.Text = ![Call Connect]
txtDropCall.Text = ![Drop Call]
txtHORet.Text = ![Handover Return]
txtHOSucc.Text = ![Handover Success]
txtHOFail.Text = ![Handover Failed]
txtHOIntra.Text = ![Handover Intra]
txtLUAtt.Text = ![LU Attempted]
txtLUSucc.Text = ![LU Success]
txtLUFail.Text = ![LU Failed]
End With
' Show Procedure Data
Set grdProcedure.DataSource = rsProcedure
' Show Performance Data
Set grdPerform.DataSource = rsPerformance
' Show Identity Data
Set grdIdentity.DataSource = rsIdentity
' Show Fixidentity Data
Set grdFixIdentity.DataSource = rsFixidentity
' show position data
Set grdPosition.DataSource = rsPosition
End Sub

Private Sub MakeGrid()


' Make Procedure Grid
grdProcedure.Columns(0).Caption = "Time"
grdProcedure.Columns(1).Caption = "Procedure"
grdProcedure.Columns(2).Caption = "Event"
grdProcedure.Columns(0).Width = 700
grdProcedure.Columns(1).Width = 1500
grdProcedure.Columns(2).Width = 2000
' Identity
grdIdentity.Columns(0).Caption = "Time"
grdIdentity.Columns(1).Caption = "Serving Cell"
grdIdentity.Columns(2).Caption = "Time Advance"
grdIdentity.Columns(3).Caption = "Time Slot"
grdIdentity.Columns(4).Caption = "Cell Id"
grdIdentity.Columns(5).Caption = "TMSI"
grdIdentity.Columns(6).Caption = "LAC"
grdIdentity.Columns(7).Caption = "Channel Type"
grdIdentity.Columns(0).Width = 1000
42

grdIdentity.Columns(1).Width = 900
grdIdentity.Columns(2).Width = 900
grdIdentity.Columns(3).Width = 900
grdIdentity.Columns(4).Width = 900
grdIdentity.Columns(5).Width = 900
grdIdentity.Columns(6).Width = 900
' position grid
grdPosition.Columns(0).Caption = "Time"
grdPosition.Columns(1).Caption = "Latitude"
grdPosition.Columns(2).Caption = "Latitude Direction"
grdPosition.Columns(3).Caption = "Longitude"
grdPosition.Columns(4).Caption = "Longitude Direction"
grdPosition.Columns(0).Width = 700
grdPosition.Columns(1).Width = 700
grdPosition.Columns(2).Width = 1400
grdPosition.Columns(3).Width = 800
grdPosition.Columns(4).Width = 1500
' Fixidentity
grdFixIdentity.Columns(0).Caption = "MCC"
grdFixIdentity.Columns(1).Caption = "MNC"
grdFixIdentity.Columns(2).Caption = "IMEI"
grdFixIdentity.Columns(3).Caption = "Provider Name"
grdFixIdentity.Columns(4).Caption = "Provider Code"
grdFixIdentity.Columns(0).Width = 1000
grdFixIdentity.Columns(1).Width = 1000
grdFixIdentity.Columns(2).Width = 1000
grdFixIdentity.Columns(3).Width = 1000
grdFixIdentity.Columns(4).Width = 1000
' Make Performance Grid
grdPerform.Columns(0).Caption = "Time"
grdPerform.Columns(1).Caption = "RxLvl"
grdPerform.Columns(2).Caption = "TxLvl"
grdPerform.Columns(3).Caption = "RxQ"
grdPerform.Columns(4).Caption = "N1"
grdPerform.Columns(5).Caption = "N2"
grdPerform.Columns(6).Caption = "N3"
grdPerform.Columns(7).Caption = "N4"
grdPerform.Columns(8).Caption = "N5"
grdPerform.Columns(9).Caption = "N6"
grdPerform.Columns(10).Caption = "N7"
grdPerform.Columns(11).Caption = "N8"
grdPerform.Columns(0).Width = 900
grdPerform.Columns(1).Width = 450
grdPerform.Columns(2).Width = 300
grdPerform.Columns(3).Width = 300
grdPerform.Columns(4).Width = 400
grdPerform.Columns(5).Width = 400
grdPerform.Columns(6).Width = 400
grdPerform.Columns(7).Width = 400
grdPerform.Columns(8).Width = 400
grdPerform.Columns(9).Width = 400
grdPerform.Columns(10).Width = 400
grdPerform.Columns(11).Width = 400
End Sub
43

Private Sub TlbAnalyzer_ButtonClick(ByVal Button As MSComctlLib.Button)


On Error GoTo failed
Select Case Button.Key
Case Is = "Open"
cdOpen.Filter = "Database File(*.mdb)|*.mdb|All File(*.*)|*.*"
cdOpen.InitDir = App.Path & "\Database\"
cdOpen.ShowOpen
dbPath = cdOpen.FileName
Call Opendb
Call Openrecordset
Call ShowData
Call ShowTreeView
Set MSChart1.DataSource = rsPerformance
Case Is = "About"
frmAbout.Show
Case Is = "Exit"
quit = 1
frmMenuUtama.Show
Unload Me
End Select
failed:
End Sub

Sub ShowTreeView()
' On Error Resume Next
tvProcedure.Nodes.Clear
Dim temp As String
Dim nodeA As Node
Dim nodeB As Node
Set grdProcedure.DataSource = Nothing
rsProcedure.MoveFirst
tvProcedure.Indentation = 1
Do Until rsProcedure.EOF
If rsProcedure![Process] = "Idle" Then
GoTo trough
ElseIf temp = rsProcedure![Process] Then
If temp1 = rsProcedure![event] Then
GoTo trough
End If
GoTo setchild
End If
Set nodeA = tvProcedure.Nodes.Add(, , , rsProcedure![Times_] & " " &
rsProcedure![Process], 36)
setchild:
Set nodeB = tvProcedure.Nodes.Add(nodeA, tvwChild, , rsProcedure![Times_] & " " &
rsProcedure![event], 36)
trough:
temp = rsProcedure![Process]
temp1 = rsProcedure![event]
rsProcedure.MoveNext
Loop
'rsProcedure.MoveFirst
Set grdProcedure.DataSource = rsProcedure
End Sub
44

Sub MapData()
On Error Resume Next
Dim pt As New MapObjects2.Point
Dim tempx As String
Set pt = Map4.ToMapPoint(X, Y)
Set grdProcedure.DataSource = Nothing
Set grdPosition.DataSource = Nothing
rsProcedure.MoveFirst
rsPosition.MoveFirst
Map4.TrackingLayer.ClearEvents
Map4.TrackingLayer.SymbolCount = 4
While Not rsProcedure.EOF
If chkIdle.Value Then
If rsProcedure![Process] = "Idle" Then
With Map4.TrackingLayer.Symbol(0)
.Style = moSquareMarker
.Size = 5
.Color = moGreen
End With
rsPosition.Find "[Times_] = '" & rsProcedure![Times_] & "'"
pt.X = rsPosition![Longitude]
pt.Y = rsPosition![Latitude]
Map4.TrackingLayer.AddEvent pt, 0
End If
End If
If chkCallSetup.Value Then
If rsProcedure![Process] = "Call Setup" Then
With Map4.TrackingLayer.Symbol(1)
.Style = moSquareMarker
.Size = 5
.Color = moBlue
End With
rsPosition.Find "[Times_] = '" & rsProcedure![Times_] & "'"
pt.X = rsPosition![Longitude]
pt.Y = rsPosition![Latitude]
Map4.TrackingLayer.AddEvent pt, 1
End If
End If
If chkHandover.Value Then
If rsProcedure![Process] = "Handover" Then
With Map4.TrackingLayer.Symbol(2)
.Style = moSquareMarker
.Size = 5
.Color = moRed
End With
rsPosition.Find "[Times_] = '" & rsProcedure![Times_] & "'"
pt.X = rsPosition![Longitude]
pt.Y = rsPosition![Latitude]
Map4.TrackingLayer.AddEvent pt, 2
End If
End If
If chkLU.Value Then
If rsProcedure![Process] = "Location Update" Then
With Map4.TrackingLayer.Symbol(3)
.Style = moSquareMarker
45

.Size = 5
.Color = moYellow
End With
rsPosition.Find "[Times_] = '" & rsProcedure![Times_] & "'"
pt.X = rsPosition![Longitude]
pt.Y = rsPosition![Latitude]
Map4.TrackingLayer.AddEvent pt, 3
End If
End If
rsProcedure.MoveNext
Wend
Set grdProcedure.DataSource = rsProcedure
Set grdPosition.DataSource = rsPosition
End Sub

About form
Private Sub Command1_Click()
Unload Me
End Sub

Private Sub Form_Load()


FormTop (Me.hwnd)
End Sub

Foto-Foto Alat
46

Gambar L-3 Foto laptop untuk pemantauan

Gambar L-4 Foto GPS untuk pemantauan


47

Gambar L-5 Foto GPS dan Network Monitoring

Gambar L-6 Foto handset dan Network Monitoring


48

Gambar L-7 Foto handset dan Network Monitoring

Gambar L-8 Foto GPS, handset dan laptop


49

Gambar L-9 Foto koneksi USB GPS dan handset ke laptop

Gammu
Gammu merupakan sebuah perangkat lunak gratis yang bisa digunakan
untuk kepentingan pribadi maupun komersial. Gammu memberikan akses dari PC
ke berbagai macam fungsi perangkat selular yang terkoneksi. Fungsi-fungsi
tersebut adalah mengirim/menerima SMS, menerima MMS, menyalin/menulis
phonebook, dan sebagainya.
Beberapa contoh perintah gammu yang digunakan untuk memanggil data – data
jaringan dari handset adalah :
--identify
Shows the most important phone data.
--getdisplaystatus
--monitor [times]
Gets phone status and writes it continuously to standard output. Press Ctrl+C to
quit the monitor.
50

--getsecuritystatus
Shows whether the phone requires a security code to be entered (like PIN, PUK,
etc).
--nokiasecuritycode
Allows you to enter a security code from the computer.
--monitor [times]
Gets the phone status and writes it continuously to standard output.
Press Ctrl+C to exit the monitor.
--setautonetworklogin
--listnetworks [country]
Show names/codes of GSM networks known to Gammu
--getgprspoint start [stop]
--networkinfo
--siemenssatnetmon
--siemensnetmonact netmon_type (1-full, 2-simple)
--siemensnetmonitor test
--nokiagetoperatorname
6110.c phones have a space for the name for one GSM network (of course, with
flashing it’s possible to change all names, but Gammu is not a flasher ;-)). You
can get this name using this option.
--nokiasetoperatorname [networkcode name]
--nokianetmonitor test
Takes output or set netmonitor for Nokia DCT3 phones.
Tip: test 243 enables all tests (after using the command
gammu --nokianetmonitor 243
in some phones like 6210 or 9210 you have to reboot them to see netmonitor
menu)
--nokiadebug filename [[v11-22][,v33-44]...]
123
123
123
123
123

Anda mungkin juga menyukai