Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
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
HHHiiiddduuuppp bbbeeerrraaawwwaaalll dddaaarrriii mmmiiimmmpppiii,,, llleeekkkaaasss bbbaaannnggguuunnn dddaaannn wwwuuujjjuuudddkkkaaannn mmmiiimmmpppiii iiitttuuu
TTTiiidddaaakkk aaadddaaa kkkeeerrrjjjaaa kkkeeerrraaasss yyyaaannnggg mmmeeennnjjjaaadddiii sssiiiaaa sssiiiaaa
YYYooouuu aaarrreee wwwhhhaaattt dddooo,,, yyyooouuurrr llliiifffeee iiisss yyyooouuurrr ppprrroooddduuucccttt
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 MobileCommunications (GSM), dilakukan untuk memantau kualitas jaringan. Padasistem pemantauan jaringan, pemetaan kualitas jaringan pada peta digital sangatdiperlukan untuk kebutuhan analisa. Untuk menghasilkan sistem pemantauanjaringan yang akurat, handal, dan efisien, dibutuhkan sebuah perangkat lunakyang bisa melakukan akuisisi data posisi dari GPS, dan menggabungkan dataposisi dengan data kualitas jaringan. Sistem pemantauan jaringan yang handal danmurah dapat menjadi alat bantu bagi para lembaga atau perguruan tinggi untukmemberikan pengetahuan dan pengalaman praktis bagi mahasiswa dalammelakukan pengawasan jaringan GSM, sehingga dapat meningkatkan daya sainglulusan di bidang komunikasi bergerak.
Program akuisisi data GPS untuk implementasi pemantauan jaringan GSMmerupakan program yang bekerja untuk melakukan akuisisi data posisi GPS,menyimpan data posisi ke dalam database, menggabungkan data posisi dengandata kualitas jaringan, dan menampilkannya ke dalam titik posisi pada petadigital. Data posisi yang digunakan adalah data longitude dan latitude denganformat derajat desimal. Penggabungan data posisi dengan data kualitas jaringandilakukan berdasarkan waktu pengambilan data.
Program akuisisi data GPS untuk implementasi pemantauan jaringan GSMtelah diimplementasikan dan dilakukan pengujian untuk mengamati hasilperancangan. berdasarkan hasil pengujian, program ini telah bekerja dan dapatmenampilkan 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, networkquality mapping on a digital map is needed for the network monitoring system. Asoftware that are capable to extract positional data from a GPS and combine itwith the network quality data is needed to produce a network monitoring systemthat are accurate, reliable, and efficient. A network monitoring system that arereliable and affordable can be a powerful tool for any education institution,especially universities, in giving their students with knowledge and practicalexperience in conducting a GSM network monitoring, in short, increasing thecompetition capabilities of their graduate in the mobile communication field.
The GPS data acquisition software implemented for GSM networkmonitoring system is a program with the function to acquire GPS positional datato store the positional data to the database, to combine the positional data with thenetwork quality data and to display the combine data on positional points in thedigital map. The positional data used are longitude and latitude using a decimaldegree format. The positional data and network quality data combining process isbased on the time aspect of the data retrieval.
The GPS data acquisition software implemented for GSM networkmonitoring system has been implemented and tested to observe any faulty in thesoftware design. Based on the test results, it can be deduced that the software isfunctional and its capability of displaying the network quality data on the digitalmap 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.
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
Satelit
GPS Komputer
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
7
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
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
D
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 dankeadaan
ketelitian Tipe data dankeaadan
Ketelitian
Data kode C/Adengan selective
availability.
± 50 m Kode C/A ± 5 m
Kode C/A tanpaselective
availability.
± 20 m Data fase ± 1 m
Kode P ± 8 Data fase denganreceiver GPS yangdipakai bergerak
± 5 cm
21
Tabel 2.1. (lanjutan) Ketelitian dari metode penentuan posisi secara absolut dan
diferensial [6].
Absolut Diferensial
Tipe data dankeadaan
ketelitian Tipe data dankeaadan
Ketelitian
Data fase denganreceiver GPS yang
dipakai diam
± 3 mm
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].
SentenceID
Keterangan Penjelasan
$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 dantanggal
$GPGRS GPS range residuals$GPGSA GPS DOP (dilution of
precision) and activesatellites
Status ketelitian data koordinat
$GPGST GPS pseudorange statistics Berisi informasi nilai noise padapseudorange
$GPGSV GPS satellites in view Berisi informasi jumlah dan nomorsatelit yang mengirimkan gelombang
ke receiver GPS$GPMSS Beacon receiver signal
statusStatus sinyal yang dikirimkan dari
pusat kontrol$GPRMC Recommended minimum
specific GPS dataInformasi posisi minimum GPS.
terdiri dari informasi waktu, tanggal,kecepatan, Namun tidak terdapat
informasi lintang dan bujur$GPVTG Course over ground and
ground speedBerisi informasi kecepatan dan
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
07015'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
access
TDMA /
FDMA
TDMA /
FDMA
TDMA /
FDMA
Lebar per kanal 200 KHz 200 KHz 200 KHz
Jumlah maksimum
user per kanal8 8 8
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 receiverantenna
34
Gambar 2.10. Konfigurasi drivetest MS-receiver [17].
Gambar 2.11. Proses drivetest dalam mobil pada jaringan GSM [17].
PC
GPS receiverPilot
receiver
Perangkatdrivetest di
dalam kendaraan
BTS
MS GSM
35
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.
PCGPS receiver
PC
Pilot receiverantenna
Pilotreceiver
36
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.
GPS receiver
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.
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
Kaki Fungsi
1 VBUS (4.75–5.25V)
23 D+4 GND
Tipe A Tipe B
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].
44
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.
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
Titik posisi saatini pada peta
digital
Data posisiyang diterima
Selesai ?Tidak
selesai
Ya
Tampilkan titikposisi
Tampilkan dataposisi
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
Selesai
Insert data date, time,longitude degree, longitudeminute, longitude decimal,longitude direction, latitude
degree, latitude minute,latitude decimal, dan latitude
direction
Simpan data
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
Open file ?
Load datadari database
About ? About
Help ? Help
Ya
Ya
Tidak
TampilanAnalyzer
LanjutkanAnalyzer ?
Selesai
Tidak
Ya
Tidak
Ya
Tidak
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
23 > Tx Level >13
13 > Tx Level >3
Titik posisiberwarna kuning
Titik posisiberwarna merah
Titik posisiberwarna hijau
3 > Tx Level > -10
-10 > Tx Level> -20
-20 > Tx LevelTitik posisi
berwarna birumuda
Titik posisiberwarna biru tua
Selesai
Tidak
Tidak
Tidak
Tidak
Tidak
Ya
Ya
Ya
Ya
Ya
Tidak
Titik posisiberwarna hitam
mudaTx Level > 23
Ya
Mulai
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 ?
Ukuran peta x 2
Ukuran titik posisi x 2
Zoom out ?
Ukuran peta / 2
Ukuran titik posisi / 2
Selesai ?
Stop
Ya
Tidak
YaTidak
YaTidak
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
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.
Exit Button
About Button
Analyzer Button
Help Button
Network MonitoringButton
65
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.
ComboBoxTextBoxButton
MapOLE
Option buttonframe
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.
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
CommandButton Tabstrip Option Button
Textbox Map Datagrid
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
Memiliki
Memiliki
Memiliki
MemilikiIdentity Time Performance
Position
Procedure
Time
LatitudeDirectionLongitude
Direction
LatitudeLongitude
Time
1 1
1
111
1
1
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
Field
Keterangan
Time Date/Time Waktu pengambilan data
Latitude Number 20 Derajat garis lintang
Latitude
Direction
Text 5 Arah garis lintang
Longitude Number 20 Derajat garis bujur
Longitude
Direction
Text 5 Arah garis bujur
78
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
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.
Gambar 4.2. Tampilan Menu Utama.
Exit Button
About ButtonAnalyzer Button
Help Button
Network MonitoringButton
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.
Gambar 4.3. Tampilan Position Monitoring.
Legend
Street Name button
Remove Layer
Add Layer button
Find GPS button Combo box Connect GPS button MapText box
Start Button Stop Button Help Button About Button Exit Button
View Option frame
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
(a)
(b)
Gambar 4.4. Tampilan Analyzer. (a) Bagian Main Analyzer. (b) Bagian
Performance Analyzer. (c) Bagian Procedure Analyzer.
Penampil petaPenampil tracking performance
Open Help About Exit
Penampil position data Penampil tracking position Penampil peta
84
(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.
Penampil peta Penampil tracking prosedur
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.
Gambar 4.9. Position Monitoring pada saat melakukan akuisisi data GPS.
Direction textbox
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.
Gambar 4.14. Position Monitoring pada saat menampilkan peta digital Jlgeo.shp
yang tidak memiliki nama jalan.
Legend
92
(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)
Street Name buttonRemove Layer button
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.
(a)
Gambar 4.16. Tampilan peta digital. (a) Setelah diperbesar 1 kali.
(b) Setelah diperbesar 2 kali.
View Option
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
(a)
(b)
Gambar 4.18. Tampilan peta digital. (a) Setelah diperbesar 3 kali. (b) Setelah
diperkecil 1 kali.
View Option
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.
Gambar 4.24. Isi penampil position data.
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
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.
Kotak Times Identify
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.
117
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.
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.
123
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)
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
123
LAMPIRAN
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 Programcondb modulePublic Declare Function CopyFile Lib "kernel32" Alias" CopyFileA"(ByVal lpExistingFileNameAs String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As LongPublic dbPath As StringPublic con As adodb.ConnectionPublic rsIdentity As adodb.RecordsetPublic rsProcedure As adodb.RecordsetPublic rsPerformance As adodb.RecordsetPublic rsPosition As adodb.RecordsetPublic rsStatistic As adodb.RecordsetPublic rsFixidentity As adodb.RecordsetPublic rsTime As adodb.RecordsetPublic 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/" & dbNameEnd Sub
Public Sub Copydb()Dim strSource As StringDim strTarget As StringDim 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.OpenEnd 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 tableSet 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, adCmdTextEnd Sub
Public Sub updatedb()' Update statistic strSQL = "UPDATE Statistic_ SET [Call Attempted] = " & statistic.callatt & _ ",[CallConnect]= " & statistic.callcon & ", [Drop Call]= " & statistic.dropcall & _ ", [Handover Return]=" & statistic.handoverret & ", [Handover Success]= " & _ statistic.handoversucc & ", [HandoverIntra]= " & 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, , adCmdTextEnd Sub
Public Sub insertdb()On Error Resume Next
' insert data to Time tableSet 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 tableSet rsPosition = New adodb.Recordset strSQL = "INSERT INTO Position_ ([Times_],[Latitude],[LatitudeDirection],[Longitude],[Longitude Direction]) VALUES ('" & OSTime & "','" & position.Latitude& "','" & position.LatDir & "', '" & position.Longitude & "', '" & position.LongDir & "')" con.Execute strSQL, , adCmdTextEnd Sub
console moduleOption ExplicitOption Base 0Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVallpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes AsSECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByValbInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVallpCurrentDirectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation AsPROCESS_INFORMATION) As LongPrivate Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As LongPrivate Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByValnNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As Long) AsLongPrivate Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByValdwMilliseconds As Long) As LongPrivate 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 LongEnd Type
Private Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessId As Long dwThreadId As LongEnd TypePrivate Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As LongEnd 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 StringIf Len(Trim(command)) > 0 Then
gammu = IsRunCommand(Trim(command))End If
End Function
Private Function IsRunCommand(CommandLine As String) As StringDim si As STARTUPINFODim sa As SECURITY_ATTRIBUTESDim pi As PROCESS_INFORMATIONDim retval As LongDim hRead As LongDim hWrite As LongDim lgSize As LongDim strResult As StringDim sBuffer(0 To 63) As ByteOn 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 FunctionEnd If
'Set Up Startup InfoWith 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 FunctionErrorHandler: MsgBox Err.Description, vbInformationEnd Function
data modulePublic Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner AsLong, ByVal nFolder As Long, pidl As ITEMIDLIST) As LongPublic 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 SHITEMIDEnd 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 StringEnd Type
Public Type PROCEDURE_ proced As String event As String handover As Boolean lu As Boolean callsetup As Boolean idle As BooleanEnd 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 IntegerEnd Type
Public Type POSITION_ Latitude As Double LatDir As String Longitude As Double LongDir As StringEnd 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 SingleEnd Type
Public Type FIXIDENTITY_ imei As String provcode As String provname As String mnc As String mcc As StringEnd 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 StringEnd 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 INITPublic OSTime As StringPublic tempdata(0 To 9) As String
skinform moduleOption Explicit' API Code on top formPrivate Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByValhWndInsertAfter As Long, ByVal X As Long, Y, ByVal cx As Long, ByVal cy As Long, ByValwFlags As Long) As LongConst HWND_TOPMOST = -1Const HWND_NOTOPMOST = -2Const SWP_NOMOVE = &H2Const SWP_NOSIZE = &H1Const SWP_NOACTIVATE = &H10Const SWP_SHOWWINDOW = &H40Const TOPMOST_FLAGS = SWP_NOMOVE Or SWP_NOSIZE
10
' API Code for skinPrivate Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal YAs Long) As LongPrivate Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn AsLong, ByVal bRedraw As Boolean) As LongPrivate Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long,ByVal X2 As Long, ByVal Y2 As Long) As LongPrivate Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As LongPrivate Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long' API Code for move form without titlebarPublic Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd AsLong, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPublic Declare Function ReleaseCapture Lib "user32" () As LongPublic Const RGN_OR = 2Public Const WM_NCLBUTTONDOWN = &HA1Public Const HTCAPTION = 2Public Function MakeRegion(picSkin As PictureBox) As LongOn Error Resume Next
Dim X As Long, Y As Long, StartLineX As LongDim FullRegion As Long, LineRegion As LongDim TransparentColor As LongDim InFirstRegion As BooleanDim InLine As BooleanDim hDC As LongDim PicWidth As LongDim 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 - 1For 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 IfEnd If
ElseIf Not InLine Then
InLine = True StartLineX = X
End IfEnd If
11
NextNext
MakeRegion = FullRegionEnd 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, TrueEnd 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 formPrivate 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 IfEnd Sub
Private Sub Form_Load() MakeitSkin frmMenuUtama, Picture1
Call FormTop(Me.hwnd) Me.Move 4500, 2000End Sub
Private Sub Label1_Click() frmAnalyzer.Show Unload MeEnd 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.ShowEnd 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.ShowEnd 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 formPublic dc As New DataConnectionPublic pmode As IntegerPublic gps As New GarXface4Lib.gpsPublic msgLogger As New GarXface4Lib.MessageLoggerPublic quit As IntegerPublic msrow As IntegerPublic connect As IntegerPublic code As IntegerPublic flow, flow1 As IntegerPublic timers, en As Long
Private Sub EnableNetmon() gammu ("c:\gammu\gammu --nokianetmonitor 243")End Sub
Private Sub cmdAddLabel_Click()Dim L As MapObjects2.MapLayerSet L = New MapObjects2.MapLayerOn Error Resume NextL.GeoDataset = dc.FindGeoDataset(cdLayer.FileTitle)Dim lr As New MapObjects2.LabelRendererlr.Field = "NAMA_JALAN"lr.DrawBackground = FalseL.Renderer = lr
13
Map1.Layers.Add LEnd 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 ThenDim i As IntegerDim Li As MapObjects2.MapLayerSet 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 Ifcancels:End Sub
Private Sub cmdConGPS_Click()Dim comList As New GarXface4Lib.ComPortNamesDim usbList As New GarXface4Lib.UsbDeviceNamesDim devIndex As IntegerDim gpsPos As GarXface4Lib.positionOn 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 IfErrorHandler:End Sub
Sub GetDataGPS()If gps.IsOpen Then
gps.RxPositionSet gpsPos = gps.position
position.Latitude = gpsPos.Latitude DoEvents position.Longitude = gpsPos.Longitude DoEvents
End IfEnd Sub
Sub ShowDataGPS() txtLat.Text = position.Latitude
14
txtLong.Text = position.LongitudeIf txtLat.Text < 0 Then
position.LatDir = "S" txtLatDir.Text = position.LatDir
ElseIf txtLat.Text > 0 Then position.LatDir = "N" txtLatDir.Text = position.LatDir
End IfIf txtLong.Text < 0 Then
position.LongDir = "W" txtLongDir.Text = position.LongDir
ElseIf txtLong.Text > 0 Then position.LongDir = "E" txtLongDir.Text = position.LongDir
End IfEnd Sub
Sub titik_posisi()'menampilkan titik posisi pada peta Map1.TrackingLayer.ClearEvents
Dim pt As MapObjects2.PointSet 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, 0End 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" OrMid(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 IfIf 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.mncEnd Sub
Private Sub cmdFindGPS_Click()Dim comList As New GarXface4Lib.ComPortNamesDim usbList As New GarXface4Lib.UsbDeviceNamesDim n As VariantDim i As Integer
Combo2.Clear i = 0
For Each n1 In comListCall AddComPortToList(CStr(n1), i)
i = i + 1Next
i = 0For Each n2 In usbList
Call AddUsbDevToList(CStr(n2), i) i = i + 1
NextIf Combo2.ListCount > 0 Then
Combo2.ListIndex = 0End If
End Sub
Private Sub cmdRemoveLayer_Click()On Error Resume Next
Map1.Layers.Remove Li legend1.LoadLegend
If i = 0 ThenGoTo cancelEnd If
i = i - 1cancel:End Sub
Private Sub Form_Activate() txtPort.Text = "Select Port" txtPort.SetFocusEnd Sub
Private Sub Form_Load()
16
quit = 0 Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = False
Call ShowgridEnd Sub
Private Sub Form_QueryUnload(cancel As Integer, UnloadMode As Integer)If quit = 1 Then
cancel = 0Else
cancel = 1 MsgBox "Please close application from Main Menu", vbInformation, "Alert"
End IfEnd Sub
Private Sub legend1_AfterSetLayerVisible(Index As Integer, isVisible As Boolean) Map1.RefreshEnd Sub
Private Sub OptFullExtent_Click() Map1.MousePointer = moArrow pmode = 5End Sub
Private Sub OptNone_Click() Map1.MousePointer = moArrow pmode = 6End Sub
Private Sub OptPan_Click() Map1.MousePointer = moPan pmode = 3End Sub
Private Sub OptSelect_Click() Map1.MousePointer = moArrow pmode = 4End Sub
Private Sub OptZoomIn_Click() Map1.MousePointer = moZoomIn pmode = 1End Sub
Private Sub OptZoomOut_Click() Map1.MousePointer = moZoomOut pmode = 2End Sub
Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Select Case pmodeCase "1"
Dim rect As MapObjects2.RectangleSet rect = Map1.Extent
17
rect.ScaleRectangle 0.7 Map1.Extent = rect
Case "2"Dim rect2 As MapObjects2.RectangleSet rect2 = Map1.Extent
rect2.ScaleRectangle 1.5 Map1.Extent = rect2
Case "3" Map1.Pan
Case "4"Dim rect3 As MapObjects2.RectangleSet rect3 = Map1.TrackRectangle
Map1.Extent = rect3Case "5"
Map1.Extent = Map1.FullExtentEnd Select
End Sub
Private Sub tBar_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.KeyCase Is = "Start"
msrow = 1If connect = 1 Then
Call DatabasenameCall CopydbCall Opendb
Call GetDataGammuFixCall ProcedureInitialisation
Timer1.Enabled = True Timer2.Enabled = True Timer3.Enabled = True
Else MsgBox "Handset or GPS not conected", vbCritical, "Error"
End IfCase 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, AlertElse
quit = 1 frmMenuUtama.Show Unload Me
End IfEnd Select
End Sub
Private Sub Timer1_Timer()Call GetDataGammuCall GetDataGPS
en = 1End Sub
18
Private Sub Timer2_Timer() OSTime = Trim(Time$) & ":" & timers txtTime.Text = OSTime
If en = 1 ThenCall ShowDataGPSCall titik_posisiCall DrawLineCall ProcedureDataCall ShowDataCall insertdbCall updatedb
End If timers = timers + 1End 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))) DoEventsEnd 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 IfIf procedure.callsetup Then
shpCallSetup.FillColor = vbGreen proced = "Call Setup"
ElseIf Not procedure.callsetup Then shpCallSetup.FillColor = vbRed
End IfIf procedure.handover Then
shpHandover.FillColor = vbGreen proced = "Handover"
ElseIf Not procedure.handover Then shpHandover.FillColor = vbRed
End IfIf procedure.lu Then
shpLU.FillColor = vbGreen proced = "Location Update"
ElseIf Not procedure.lu Then shpLU.FillColor = vbRed
End IfIf msrow = 5 Then
MSFlexGrid1.RemoveItem (1) msrow = 4
End If MSFlexGrid1.Rows = msrow MSFlexGrid1.AddItem proced & vbTab & procedure.event msrow = msrow + 1End 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 WithEnd Sub
20
Sub DrawLine()Dim i As IntegerDim data_(1 To 9) As StringDim 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 IfNext 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.ProductDataSet pd = gps.ProductDataOn Error GoTo HandleError
gps.OpenComPortDevice port Combo2.AddItem pd.Description + " (" + port + ")" Combo2.ItemData(Combo2.NewIndex) = iHandleError:
If gps.IsOpen() Then gps.Close
Exit Sub
21
End IfEnd Sub
Sub AddUsbDevToList(port As String, i As Integer)Dim pd As GarXface4Lib.ProductDataSet 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 + iHandleError:
If gps.IsOpen() Then gps.Close
Exit SubEnd 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, adLockReadOnlyEnd 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 ThenGoTo last
ElseIf procedure.lu ThenGoTo lu
End If 'Call setup
If Not procedure.callsetup ThenIf 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 IfIf 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 lastEnd 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 lastEnd 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 luEnd IfIf flow = 2 Then
procedure.event = "Conversation phase" flow1 = 1 procedure.proced = "Call Setup"
GoTo luEnd If
procedure.event = "Channel mode modify"
23
flow = 1ElseIf initial.channel = "BCCH" Then
procedure.event = "Call release, channel in use BCCH" flow1 = 1
ElseIf initial.channel = "CBCH" ThenIf flow1 = 2 Then
procedure.callsetup = False procedure.idle = True
GoTo idlesEnd IfIf 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 lastElse
procedure.event = "Drop call" statistic.dropcall = statistic.dropcall + 1 flow1 = 2
GoTo lastEnd If
End IfEnd If
idles: 'Idle
If procedure.idle Then procedure.proced = "Idle" procedure.event = "Channel in use " & initial.channel
End Iflu: 'Location Update
If Not procedure.lu ThenIf 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 lastEnd If
End IfIf 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 lastEnd 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" ThenIf flow = 4 Then
procedure.lu = FalseIf procedure.callsetup Then
flow = 2GoTo last
End If procedure.idle = True
GoTo lastEnd IfIf 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 IfEnd 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 IfEnd Sub
Private Sub Timer3_Timer() timers = timers + 1
If timers >= 9 Then timers = 0
End IfEnd Sub
Private Sub txtDelay_Change()If Val(txtDelay.Text) > 0 And Val(txtDelay.Text) < 25000 Then
Timer2.Interval = txtDelay.TextElse
txtDelay.Text = 500 Timer2.Interval = 500
End IfEnd Sub
Private Sub txtPort_Click() txtPort.Text = "com1"End Sub
Private Function GetSpecialFolder(CSIDL As Long) As StringDim r As LongDim 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 IntegerPublic dc As New DataConnectionPublic pmode, p2mode, p3mode, p4mode As IntegerPublic rxQ, rxQ1, rxQ2, rxQ3, rxQ4, rxQ5, rxQ6, rxQ7, rxQ8 As IntegerPublic rxL, rxL1, rxL2, rxL3, rxL4, rxL5, rxL6 As IntegerPublic txL, txL1, txL2, txL3, txL4, txL5, txL6 As IntegerPublic 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.LabelRendererDim L As MapObjects2.MapLayerSet L = New MapObjects2.MapLayerOn 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.LoadLegendEnd Sub
Private Sub cmdEnd_Click()If grdPosition.Row < startp Then
MsgBox "End point time must be more than start point time", vbInformation, AlertExit Sub
End If txtLockEnd = txtEnd.Text
27
endp = grdPosition.RowEnd Sub
Private Sub cmdFullExtent_Click()p2mode = 5Map2.MousePointer = moArrowEnd Sub
Private Sub cmdFullXtent2_Click() p3mode = 5 Map3.MousePointer = moArrowEnd Sub
Private Sub cmdIdentify_Click()p2mode = 6Map2.MousePointer = moIdentifyEnd Sub
Private Sub cmdIdentify2_Click()p3mode = 6Map3.MousePointer = moIdentifyEnd Sub
Private Sub cmdIdentify3_Click()p4mode = 6Map4.MousePointer = moIdentifyEnd Sub
Private Sub cmdPan_Click()p2mode = 3Map2.MousePointer = moPanEnd Sub
Private Sub cmdPan2_Click()p3mode = 3Map3.MousePointer = moPanEnd Sub
Private Sub cmdPan3_Click()p4mode = 3Map4.MousePointer = moPanEnd Sub
Private Sub cmdSelect_Click()p2mode = 4Map2.MousePointer = moArrowEnd Sub
Private Sub cmdSelect2_Click()p3mode = 4Map3.MousePointer = moArrowEnd Sub
Private Sub cmdSelect3_Click()p4mode = 4
28
Map4.MousePointer = moArrowEnd Sub
Private Sub cmdStart_Click() txtLockStart = txtStart.Text startp = grdPosition.RowEnd Sub
Private Sub cmdTrack_Click()On Error Resume Next
rsPosition.MoveFirstDim pt As MapObjects2.PointSet pt = Map1.ToMapPoint(X, Y)
Map1.TrackingLayer.ClearEventsSet grdPosition.DataSource = Nothing
rsPosition.Find "[Times_]='" & txtLockStart.Text & "'"
While Not rsPosition.EOFWith Map1.TrackingLayer.Symbol(0)
.Style = moCircleMarker .Size = 5 .Color = moRed
End WithWith 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 ThenGoTo exits
End IfWend
'cmdTrack_Clickexits:
Set grdPosition.DataSource = rsPositionEnd Sub
Private Sub cmdZoomIN2_Click()p3mode = 1Map3.MousePointer = moZoomInEnd Sub
Private Sub cmdZoomOut2_Click() p3mode = 2 Map3.MousePointer = moZoomOutEnd 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 ThenDim i As IntegerDim Li As MapObjects2.MapLayerSet 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 IfErrorHandler:End Sub
Private Sub cmdFullXtent_Click() Map2.Extent = Map2.FullExtentEnd 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 - 1End Sub
30
Private Sub cmdZoomIN_Click() p2mode = 1 Map2.MousePointer = moZoomInEnd Sub
Private Sub cmdZoomIN3_Click() p4mode = 1 Map4.MousePointer = moZoomInEnd Sub
Private Sub cmdZoomOut_Click() p2mode = 2 Map2.MousePointer = moZoomOutEnd Sub
Private Sub cmdFullXtentt3_Click()p4mode = 5Map4.MousePointer = moArrowEnd Sub
Private Sub cmdZoomOut3_Click()p4mode = 2Map4.MousePointer = moZoomOutEnd 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 = 5End Sub
Private Sub OptIdentify_Click() Map1.MousePointer = moIdentify pmode = 6End Sub
Private Sub OptNone2_Click() Map1.MousePointer = moArrow pmode = 7End Sub
Private Sub OptPan2_Click() Map1.MousePointer = moPan pmode = 3End Sub
Private Sub optRxLevel_Click()Call trackRxLeveltxtRxLvLgnd1.Text = (rxL1 / rxL) * 100txtRxLvLgnd2.Text = (rxL2 / rxL) * 100txtRxLvLgnd3.Text = (rxL3 / rxL) * 100
31
txtRxLvLgnd4.Text = (rxL4 / rxL) * 100txtRxLvLgnd5.Text = (rxL5 / rxL) * 100txtRxLvLgnd6.Text = (rxL6 / rxL) * 100frmRxLvLgnd.Visible = TruefrmRxQualLgnd.Visible = FalsefrmTxLvLgnd.Visible = FalseEnd Sub
Private Sub OptRxqual_Click()Call trackRxQualtxtRxQualLgnd1.Text = (rxQ1 / rxQ) * 100txtRxQualLgnd2.Text = (rxQ2 / rxQ) * 100txtRxQualLgnd3.Text = (rxQ3 / rxQ) * 100txtRxQualLgnd4.Text = (rxQ4 / rxQ) * 100txtRxQualLgnd5.Text = (rxQ5 / rxQ) * 100txtRxQualLgnd6.Text = (rxQ6 / rxQ) * 100txtRxQualLgnd7.Text = (rxQ7 / rxQ) * 100txtRxQualLgnd8.Text = (rxQ8 / rxQ) * 100frmRxQualLgnd.Visible = TruefrmTxLvLgnd.Visible = FalsefrmRxLvLgnd.Visible = FalseEnd Sub
Sub trackRxLevel()On Error Resume NextDim pt As New MapObjects2.Point
Set pt = Map3.ToMapPoint(X, Y)Set grdPerform.DataSource = NothingSet grdPosition.DataSource = NothingOn Error GoTo error
rsPerformance.MoveFirst rsPosition.MoveFirst Map3.TrackingLayer.ClearEvents
Dim tempx As Integer Map3.TrackingLayer.SymbolCount = 6
While Not rsPerformance.EOFWith Map3.TrackingLayer.Symbol(0)
.Style = moCircleMarker .Size = 5 .Color = moCyan
End WithWith Map3.TrackingLayer.Symbol(1)
.Style = moCircleMarker .Size = 5 .Color = moBlue
End WithWith Map3.TrackingLayer.Symbol(2)
.Style = moCircleMarker .Size = 5 .Color = moGreen
End WithWith Map3.TrackingLayer.Symbol(3)
.Style = moCircleMarker .Size = 5 .Color = moYellow
32
End WithWith Map3.TrackingLayer.Symbol(4)
.Style = moCircleMarker .Size = 5 .Color = moRed
End WithWith 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
Wenderror:
Set grdPerform.DataSource = rsPerformanceSet grdPosition.DataSource = rsPosition
End Sub
Sub trackRxQual()On Error Resume NextDim pt As New MapObjects2.Point
Set pt = Map3.ToMapPoint(X, Y)Set grdPerform.DataSource = NothingSet grdPosition.DataSource = NothingOn Error GoTo error
rsPerformance.MoveFirst
33
rsPosition.MoveFirst Map3.TrackingLayer.ClearEvents
Dim tempx As String Map3.TrackingLayer.SymbolCount = 8
While Not rsPerformance.EOFWith Map3.TrackingLayer.Symbol(0)
.Style = moCircleMarker .Size = 5 .Color = moBlue
End WithWith Map3.TrackingLayer.Symbol(1)
.Style = moCircleMarker .Size = 5 .Color = moCyan
End WithWith Map3.TrackingLayer.Symbol(2)
.Style = moCircleMarker .Size = 5 .Color = moDarkGreen
End WithWith Map3.TrackingLayer.Symbol(3)
.Style = moCircleMarker .Size = 5 .Color = moGreen
End WithWith Map3.TrackingLayer.Symbol(4)
.Style = moCircleMarker .Size = 5 .Color = moYellow
End WithWith Map3.TrackingLayer.Symbol(5)
.Style = moCircleMarker .Size = 5 .Color = moOrange
End WithWith Map3.TrackingLayer.Symbol(6)
.Style = moCircleMarker .Size = 5 .Color = moRed
End WithWith 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
Wenderror:
Set grdPerform.DataSource = rsPerformanceSet grdPosition.DataSource = rsPosition
End Sub
Private Sub OptSelect2_Click() Map1.MousePointer = moArrow pmode = 4End Sub
Private Sub optTxLevel_Click()Call trackTxLeveltxtTxLvLgnd1.Text = (txL6 / txL) * 100txtTxLvLgnd2.Text = (txL5 / txL) * 100txtTxLvLgnd3.Text = (txL4 / txL) * 100txtTxLvLgnd4.Text = (txL3 / txL) * 100txtTxLvLgnd5.Text = (txL2 / txL) * 100txtTxLvLgnd6.Text = (txL1 / txL) * 100frmTxLvLgnd.Visible = TruefrmRxQualLgnd.Visible = FalsefrmRxLvLgnd.Visible = FalseEnd SubSub trackTxLevel()On Error Resume NextDim pt As New MapObjects2.Point
Set pt = Map3.ToMapPoint(X, Y)
35
Set grdPerform.DataSource = NothingSet grdPosition.DataSource = NothingOn Error GoTo error
rsPerformance.MoveFirst rsPosition.MoveFirst Map3.TrackingLayer.ClearEvents
Dim tempx As Integer Map3.TrackingLayer.SymbolCount = 6
While Not rsPerformance.EOFWith Map3.TrackingLayer.Symbol(0)
.Style = moCircleMarker .Size = 5 .Color = moCyan
End WithWith Map3.TrackingLayer.Symbol(1)
.Style = moCircleMarker .Size = 5 .Color = moBlue
End WithWith Map3.TrackingLayer.Symbol(2)
.Style = moCircleMarker .Size = 5 .Color = moGreen
End WithWith Map3.TrackingLayer.Symbol(3)
.Style = moCircleMarker .Size = 5 .Color = moYellow
End WithWith Map3.TrackingLayer.Symbol(4)
.Style = moCircleMarker .Size = 5 .Color = moRed
End WithWith 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
Wenderror:
Set grdPerform.DataSource = rsPerformanceSet grdPosition.DataSource = rsPosition
End SubPrivate Sub OptZoomIn2_Click() Map1.MousePointer = moZoomIn pmode = 1End Sub
Private Sub OptZoomOut2_Click() Map1.MousePointer = moZoomOut pmode = 2End SubPrivate Sub legend1_AfterSetLayerVisible(Index As Integer, isVisible As Boolean) Map1.RefreshEnd Sub
Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Select Case pmodeCase "1"
Dim rect As MapObjects2.RectangleSet rect = Map1.Extent
rect.ScaleRectangle 0.7 Map1.Extent = rect
Case "2"Dim rect2 As MapObjects2.RectangleSet rect2 = Map1.Extent
rect2.ScaleRectangle 1.5 Map1.Extent = rect2
Case "3" Map1.Pan
Case "4"Dim rect3 As MapObjects2.RectangleSet rect3 = Map1.TrackRectangle
Map1.Extent = rect3Case "5"
Map1.Extent = Map1.FullExtentCase "6"
Dim p As MapObjects2.PointSet p = Map1.ToMapPoint(X, Y)
37
Dim a, b, c, d, e, f, t, er As DoubleIf Map1.Layers.Count = 0 ThenGoTo errorEnd IfOn Error Resume Next
rsPosition.MoveFirst
a = p.X b = p.Y er = 10
Set grdPosition.DataSource = NothingWhile 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
Wenderror:
Set grdPosition.DataSource = rsPosition 'Text1.Text = t
End SelectEnd Sub
Private Sub Map2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Select Case p2modeCase "1"
Dim rect As MapObjects2.RectangleSet rect = Map2.Extent
rect.ScaleRectangle 0.7 Map2.Extent = rect
Case "2"Dim rect2 As MapObjects2.RectangleSet rect2 = Map2.Extent
rect2.ScaleRectangle 1.5 Map2.Extent = rect2
Case "3" Map2.Pan
Case "4"Dim rect3 As MapObjects2.RectangleSet rect3 = Map2.TrackRectangle
Map2.Extent = rect3Case "5"
Map2.Extent = Map2.FullExtentCase "6"Dim p As MapObjects2.Point
Set p = Map2.ToMapPoint(X, Y)Dim a, b, c, d, e, f, t, er As DoubleIf Map2.Layers.Count = 0 ThenGoTo errorEnd If
38
On Error Resume Next rsPosition.MoveFirst a = p.X b = p.Y er = 10
Set grdPosition.DataSource = NothingWhile 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
WendSet 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 = rsPositionSet grdIdentity.DataSource = rsIdentity
End SelectEnd 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.RectangleSet rect = Map4.Extent
rect.ScaleRectangle 0.7 Map4.Extent = rect
Case "2"Dim rect2 As MapObjects2.RectangleSet rect2 = Map4.Extent
rect2.ScaleRectangle 1.5 Map4.Extent = rect2
Case "3" Map4.Pan
Case "4"Dim rect3 As MapObjects2.RectangleSet rect3 = Map4.TrackRectangle
Map4.Extent = rect3Case "5"
Map4.Extent = Map4.FullExtentCase "6"Dim p As MapObjects2.Point
Set p = Map4.ToMapPoint(X, Y)
39
Dim a, b, c, d, e, f, t, er As DoubleIf Map4.Layers.Count = 0 ThenGoTo errorEnd IfOn Error Resume Next
rsPosition.MoveFirst
a = p.X b = p.Y er = 10
Set grdPosition.DataSource = NothingWhile 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
WendSet grdProcedure.DataSource = Nothing
rsProcedure.Find "[Times_]='" & t & "'" Text14.Text = rsProcedure![Times_]error:
Set grdPosition.DataSource = rsPositionSet grdProcedure.DataSource = rsProcedure
End SelectEnd 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.RectangleSet rect = Map3.Extent
rect.ScaleRectangle 0.7 Map3.Extent = rect
Case "2"Dim rect2 As MapObjects2.RectangleSet rect2 = Map3.Extent
rect2.ScaleRectangle 1.5 Map3.Extent = rect2
Case "3" Map3.Pan
Case "4"Dim rect3 As MapObjects2.RectangleSet rect3 = Map3.TrackRectangle
Map3.Extent = rect3Case "5"
Map3.Extent = Map3.FullExtentCase "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 ThenGoTo errorEnd IfOn Error Resume Next
rsPosition.MoveFirst
a = p.X b = p.Y er = 10
Set grdPosition.DataSource = NothingWhile 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
WendSet 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 = rsPositionSet grdPerform.DataSource = rsPerformance
End SelectEnd SubPrivate Sub Map1_mousemove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim p As MapObjects2.PointSet 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:" & cyEnd Sub
Private Sub Form_Load() quit = 0
Call MakeGridEnd Sub
41
Private Sub Form_QueryUnload(cancel As Integer, UnloadMode As Integer)If quit = 1 Then
cancel = 0Else
cancel = 1 MsgBox "Please close application from Main Menu", vbInformation, "Alert"
End IfEnd 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 = rsPositionEnd 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 = 400End Sub
43
Private Sub TlbAnalyzer_ButtonClick(ByVal Button As MSComctlLib.Button)On Error GoTo failedSelect Case Button.KeyCase Is = "Open"
cdOpen.Filter = "Database File(*.mdb)|*.mdb|All File(*.*)|*.*" cdOpen.InitDir = App.Path & "\Database\" cdOpen.ShowOpen dbPath = cdOpen.FileName
Call OpendbCall OpenrecordsetCall ShowDataCall ShowTreeViewSet MSChart1.DataSource = rsPerformance
Case Is = "About" frmAbout.Show
Case Is = "Exit" quit = 1 frmMenuUtama.Show Unload Me
End Selectfailed:End Sub
Sub ShowTreeView()' On Error Resume Next tvProcedure.Nodes.Clear
Dim temp As StringDim nodeA As NodeDim nodeB As NodeSet grdProcedure.DataSource = Nothing
rsProcedure.MoveFirst tvProcedure.Indentation = 1 Do Until rsProcedure.EOF
If rsProcedure![Process] = "Idle" ThenGoTo trough
ElseIf temp = rsProcedure![Process] ThenIf temp1 = rsProcedure![event] Then
GoTo troughEnd IfGoTo setchild
End IfSet 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 = rsProcedureEnd Sub
44
Sub MapData()On Error Resume Next
Dim pt As New MapObjects2.PointDim tempx As StringSet pt = Map4.ToMapPoint(X, Y)Set grdProcedure.DataSource = NothingSet grdPosition.DataSource = Nothing
rsProcedure.MoveFirst rsPosition.MoveFirst Map4.TrackingLayer.ClearEvents Map4.TrackingLayer.SymbolCount = 4
While Not rsProcedure.EOFIf chkIdle.Value Then
If rsProcedure![Process] = "Idle" ThenWith 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 IfEnd IfIf chkCallSetup.Value Then
If rsProcedure![Process] = "Call Setup" ThenWith 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 IfEnd IfIf chkHandover.Value Then
If rsProcedure![Process] = "Handover" ThenWith 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 IfEnd IfIf chkLU.Value Then
If rsProcedure![Process] = "Location Update" ThenWith 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 IfEnd If
rsProcedure.MoveNextWendSet grdProcedure.DataSource = rsProcedureSet grdPosition.DataSource = rsPosition
End Sub
About formPrivate Sub Command1_Click()Unload MeEnd 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
GammuGammu merupakan sebuah perangkat lunak gratis yang bisa digunakan
untuk kepentingan pribadi maupun komersial. Gammu memberikan akses dari PCke berbagai macam fungsi perangkat selular yang terkoneksi. Fungsi-fungsitersebut adalah mengirim/menerima SMS, menerima MMS, menyalin/menulisphonebook, dan sebagainya.Beberapa contoh perintah gammu yang digunakan untuk memanggil data – datajaringan dari handset adalah :--identifyShows the most important phone data.--getdisplaystatus--monitor [times]Gets phone status and writes it continuously to standard output. Press Ctrl+C toquit the monitor.
50
--getsecuritystatusShows whether the phone requires a security code to be entered (like PIN, PUK,etc).--nokiasecuritycodeAllows 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--nokiagetoperatorname6110.c phones have a space for the name for one GSM network (of course, withflashing it’s possible to change all names, but Gammu is not a flasher ;-)). Youcan get this name using this option.--nokiasetoperatorname [networkcode name]--nokianetmonitor testTakes output or set netmonitor for Nokia DCT3 phones.Tip: test 243 enables all tests (after using the commandgammu --nokianetmonitor 243in some phones like 6210 or 9210 you have to reboot them to see netmonitormenu)--nokiadebug filename [[v11-22][,v33-44]...]
123
123
123
123
123