BAB 3
PERANCANGAN SISTEM
3.1 Perancangan Sistem
Pada perancangan dan analisa sistem tracking kereta api menggunakan GPS ini didasarkan pada perkembangan teknologi yang berkembang pesat dalam dunia GPS dimana merupakan suatu sistem pendukung guna melacak keberadaan/posisi suatu benda. Pada perancangan sistem ini, GPS diaplikasikan kepada kereta api dimana dalam penelitian kami hanya sebatas pada pelacakan posisi suatu kereta api dan estimasi waktu kedatangan , perancangan sistem kami ini dibagi atas dua bagian yaitu perangkat keras dan lunak. Secara umum, perancangan perangkat keras ini terdiri dari GPS recevier, handphone, PC, dan bluetooth . Sedangkan pada perancangan pada perangkat lunaknya terdapat pembuatan website, pembuatan peta, tampilan GUI untuk menerima dan mengirim pesan SMS, dan terdapat website untuk user. Secara garis besar cara kerja sistem kami adalah dapat digambarkan dalam gambar 3.1 dan gambar 3.2, pertama-pertama GPS receiver menerima data dari satelit berupa koordinat dimana data tersebut lalu ditampung ke dalam database yang berada pada laptop, data tersebut lalu dikirim melalui handphone melalui bluetooth dan selanjutnya data tersebut dikirim melalui sms dimana protokolnya dengan menggunakan AT-Command , data tersebut akan diterima di PC pusat kontrol , di pusat kontrol data tersebut akan diolah dan ditampilkan di website.
Gambar 3.1 Gambaran Umum Cara Kerja Sistem
3.1.1 Perangkat Keras
Pada sistem kami ini, semua perangkat keras dibeli dari yang sudah ada di pasaran, sehingga kami hanya merancang sedimikan rupa sehingga sistem kami berjalan dengan baik, berikut adalah komponen-komponen perangkat kerja yang digunakan:
A. GPS Receiver
GPS Receiver ini berguna untuk mengambil data dari satelit guna mengetahui semua informasi yang berhubungan dengan posisi pada saat itu, berikut adalah gambar dari GPS
.
Gambar 3.3 GPS Receiver
Board pada GPS ini menggunakan interface serial RS232, lalu di-convert ke USB menggunakan RS-232 to USB converter
B. Laptop
Digunakan untuk mengolah data dari GPS receiver, spesifikasi yang digunakan adalah:
- Intel Pentium Celeron 1,6 GHz - 1280 MB RAM
- ATi Radeon Express 200M C. Handphone
Handphone terdiri dari dua buah yaitu Sony Ericsson W700i dan K700i, handphone ini nantinya akan digunakan di pusat kontrol dan di dalam kereta api, berfungsi untuk mengirimkan data dari laptop ke pusat melalui pesan singkat (SMS). Untuk melihar AT –command dari handphone tipe ini dapat dilihat pada lampiran
D. Bluetooth
Digunakan untuk menghubungkan antara handphone dengan laptop, dimana komunikasinya secara serial
E. Kabel Power
Kabel Power disini adalah kabel power yang mengambil tegangan dari USB pada laptop, dimana nantinya menjadi sumber tegangan bagi GPS receiver
3.1.2 Perangkat Lunak
Sebagian besar, sistem kami ini memfokuskan pada perancangan perangkat lunaknya, perancangan perangkat lunak ini terdiri dari perancangan sistem pengiriman dan penerimaan sms, perancangan database, perancangan peta, dan perancangan website. Spesifikasi perangkat lunaknya adalah menggunakan VB.Net, PHP, My SQL, dan Macromedia Flash MX.
A. Perancangan Perangkat Lunak untuk Pengiriman SMS
Perangkat lunak ini bertujuan untuk mengirim data dari GPS receiver ke pusat dengan melalui sms menggunakan handphone, pertama-tama kita membuat cara kerja dari sistem ini, seperti yang kita lihat pada gambar flowchart 3.3, pertama-tama dilakukan insialisasi yaitu men-set lama interval auto-sending, serial port untuk handphone ,GPS port nya, dan service numbernya. Lalu program akan menghubungkan GPS receiver dan handphone melalui serial comm yang telah kita pilih, khusus untuk handphone digunakan bluetooth untuk mengubungkannya ke laptop, setelah semua device terhubung ke serial comm maka,
Gambar 3.5 Rancangan Layar Pengiriman SMS
selanjutnya program akan menunggu kita apakah kita mau mengirim sms tersebut secara manual atau tidak, manual atau tidak manual yang dimaksud disini adalah apabila manual, kita harus mengklik tombol command-button secara terus menerus hingga kita tidak menginginkan sms dikirim lagi, sedangkan apabila secara otomatis, maka kita diminta untuk men-set waktu agar setiap selang waktu tertentu , sms otomatis terkirim. Agar lebih jelas, ada baiknya kita lihat pada rancangan layar yang sebeneranya pada gambar 3.4 , pada layar terdapat beberapa properti, yaitu:
- Nomor pengirim
Berisikan nomor dari si pengirim sms yang berisikan data posisi GPS receiver . - Send data GPS
Apabila radio button nya di-tick, maka string yang berawalkan $GPGGA yang hanya dikirim melalui sms
Ini menu untuk memilih dari sekian banyak pilihan comm yang cocok/tepat untuk menghubungkan dengan GPS receiver dan handphone
- Number
Didalam menu ini nantinya kita akan memasukan nomor service centernya, dan nomor tujuan
- Options
Ini adalah menu optional dimana user boleh mengisinya atau tidak mengisinya, isi dari menu ini adalah validity period , status report, seperti layaknya settingan sms pada umumnya di handphone.
- NMEA
Menu ini akan membaca seluruh NMEA sentence dari GPS receiver, dimana nantinya akan diseleksi berdasarkan string pertamanya yaitu $GPGGA
- User Data
User data berisikan pesan teks yang ditulis secara manual - PDU code
Berisikan terjemahan dari pesan teks ke PDU, dimana nantinya dikenali pada AT-command
- Send/Auto Send
Dengan men-tick radio button ini , sms akan dikirim setiap beberapa selang waktu tertentu
- Receiced number
Merupakan suatu validasi nomer si penerima, apabila si penerima hendak melakukan miscall guna meminta sms secara otomatis dari program maka nomor harus sama
- Informasi AT-command
Layar ini digunakan untuk men-debug apakah AT-command nya berjalan dengan baik atau tidak , apabila berjalan, maka akan muncul status OK, apabila tidak akan muncul error
- Status
Digunakan untuk men-debug apakah pesan GPS telah terkirim atau belum
Agar lebih memahami programnya, lebih baik melihat listing program pada lampiran, berikut adalah fungsi-fungsi secara umum pada listing programnya
Nama Tipe Fungsi
btnDisconnect Property Button untuk memutuskan
serial comm
btnConnect Property Button untuk
menghubungkan dengan serial comm
cbbCOMPorts Property Pilihan untk memilih comm yang mana saja yang sedang aktif
Label6 Property Untuk menampilkan label
lblMessage Property Untuk menampilkan label
txtDataReceived Property Untuk menampilkan teks
Timer1 Property Untuk membuat timer
combo box serial comm
Congps Property Button untuk connect ke
GPS
Dcgps Property Button untuk disconnet
dari GPS
txtMsgRef Property Untuk menampilkan teks
boks
cmbValidPeriod Property Untuk menampilkan
combo boks periode yang valid
cmbDataCodingScheme Property Untuk menampilkan
Combo Box
Label5 Property Untuk menampilkan label
Label4 Property Untuk menampilkan label
Label3 Property Untuk menampilkan label
chkStatusReport Property Untuk mengaktifkan status report
GroupBox1 Property Untuk menampilkan group box
txtDestNum Property Untuk menampilkan teks
boks untuk nomor tujuan
Label2 Property Untuk menampilkan label
boks nomor service number
Label1 Property Untuk menampilkan label
GroupBox3 Property Untuk menampilkan group box
cmdReset Property Button untuk reset
cmdGetPDU Property Button untuk mendapatkan
PDU
stsBar Property Status
txtPDU Property Teks untuk menampilkan
PDU
cmdCopyToClipboard Property Button untuk perintah kopi stsPDULength Property Untuk panjang PDU
txtUserData_TextChanged Method Untuk merubah pesan pada user data
frmMain_Load Method Untuk insialiasi
cmdGetPDU_Click Method Untuk mendapatkan string PDU dari pesan yang ditulis
cmdCopyToClipboard_Click Method Untuk mengkopi apa yang ada pada user data
cmdReset_Click Method Untuk me-reset isi dari user data
cmbDataCodingScheme_SelectedIndexChanged Method Untuk memilih index btnConnect_Click Method Untuk melakukan koneksi
ke GPS
btnDisconnect_Click Method Untuk memutuskan
koneksi dari GPS
updateTextBox Method Meng-update isi dari teks boks
DataReceived Method Untuk menerima data
Sendcpdu Method Mengirimkan PDU lewat
AT-Command
Tabel 3.1 Fungsi-fungsi pada program send sms
B. Perancangan Perangkat Lunak untuk Read SMS
Perangkat lunak ini bertujuan untuk membaca pesan data dari kereta api menggunakan handphone, pertama-tama kita membuat cara kerja dari sistem ini, seperti yang kita lihat pada gambar flowchart 3.5, pertama-tama dilakukan insialisasi yaitu men-set properti yang ada pada SQL, serial port, dan handphone. Lalu program akan menghubungkan handphone melalui serial comm yang telah kita pilih, untuk menghubungkan handphone dengan laptop digunakan bluetooth, setelah semua device terhubung ke serial comm maka
Gambar 3.6 Flowchart Read SMS
program akan mengecek inputan kita apakah membaca SMS berdasarkan index atau hanya pesan yang baru saja, lalu pesan tersebut akan masuk ke PDU decoder untuk diterjemahkan ke pesan teks, pesan tersebut lalu disimpan di database untuk digunakan pada website. Berikutnya adalah rancangan tampilan program untuk read sms seperti yang terlihat pada gambar 3.6 dibawah, terdapat beberapa properti yaitu :
Gambar 3.7 Perancangan Layar untuk Read SMS
- Select Port
Menu ini digunakan untuk memilih port yang cocok - Informasi dari AT command
Digunakan untk debug pada AT command - Index Properties
Digunakan untuk membaca sms berdasarkan indeks yang kita inginkan atau secara otomatis
- Call Function
Digunakan apabila si penerima pesan ingin melakukan miscall atau tidak, fungsi ini digunakan apabila penerima ingin menerima pesan dengan cara menelepon - Layar pesan yang diterima
Pesan yang kita terima dari pengirim - SQL properties
Terdiri dari server, digunakan untuk website, username dan password adalah optional
Agar lebih memahami programnya, lebih baik melihat listing program pada lampiran, berikut adalah fungsi-fungsi secara pada listing programnya
Nama Tipe Fungsi
Splitter Property Untuk split form
btnConnect Property Button untuk menghubungkan ke serial port
cbbCOMPorts Property Untuk menampilkan pilihan comm yang bisa digunakan
btnDisconnect Property Untuk memutuskan program dari serial port lblMessage Property Untuk menampilkan pesan Panel1 Property Untuk menampilkan panel Label1 Property Untuk menampilkan label
Label2 Property Untuk menampilkan label GroupBox1 Property Untuk menampilkan kumpulan box Pass Property Untuk menampilkan teks boks Server Property Untuk menampilkan teks boks Username Property Untuk menampilkan teks boks Label 3 Property Untuk menampilkan label Label 4 Property Untuk menampilkan label Label 5 Property Untuk menampilkan label
GroupBox2 Property Untuk menampilkan kumpulan boks Form1_FormClosed Method Untuk menutup program
Form1_load Method Untuk inisialiasi DataReceived Method Untuk menerima data
btnSend_click Method Untuk mengirim pesan secara manual updateTextBox Method Untuk meng-update data pada teks boks Sendcpdu Method Untuk mengirimkan PDU btnConnect_click Method Untuk menghubungkan ke serial port
Tabel 3.2 Fungsi-fungsi pada program read sms
C. Perancangan website dan peta
Perancangan website dan peta ini merupakan bagian terpenting dari perancangan sistem tracking kereta api menggunakan GPS ini karena ini merupakan bagian dimana user dapat melihat posisi kereta api yang jelas , pada pembuatan peta ini kami hanya membatasi areal yang menjadi cakupan pada ruang lingkup kami, jika dilihat pada gambar 3.7 , cara kerja dari website ini adalah pertama-tama dilakukan inisialiasi yaitu melakukan kalibrasi peta yang akan dijelaskan dibawah, lalu melakukan koneksi ke SQL untuk mengambil data.
Gambar 3.8 Flowchart Perancangan Website
Selanjutnya program akan mengambil koordinat x dan y serta tanggal pada saat itu, setelah itu program akan menampilkan posisi di peta dimana peta ini dibuat dengan menggunakan macromedia flash MX, lalu setiap 1 menit, page pada website akan secara otomatis di refresh. Pada website terdapat ID kereta api, dan waktu pada saat itu. Untuk rancangan layar pada website dapat dilihat pada gambar 3.8
Gambar 3.9 Perancangan Layar Website
Pada gambar 3.8 , terlihat hanya sebuah halaman website sederhana saja, yang terlihat adalah informasi tentang kereta api dimana nama kereta apinya, nomor kereta api, tanggal, hari,dan waktu pada saat itu, tetapi yang rumit adalah pada pembuatan peta nya, berikut adalah cara untuk membuat petanya dengan cara melakukan kalibrasi antara pixel dan derajat. Kami akan menjelaskan bagaimana proses pembuatan peta satu persatu, yaitu:
Cara merubah posisi GPS kedalam derajat dalam koordinat X Format dari sebuah posisi longitude secara umum adalah
xxxoyy’zz’’ long
xxx adalah posisi dalam derajat yy adalah posisi dalam menit zz adalah posisi dalam detik
Format-format tersebut diatas perlu dirubah secara penuh ke dalam derajat, contoh nya adalah posisi 106o 47’ 54 ’’ ketika dirubah kedalam derajat adalah 106+47/60+54/3600 akan sama dengan 106,798333 o . Pengaruh dari west/ east adalah jika west maka nilainya adalah positif, dan jika east maka nilainya negatif.
Cara merubah posisi GPS kedalam derajat dalam koordinat Y Format dari sebuah posisi longitude secara umum adalah
xxxoyy’zz’’ long
xxx adalah posisi dalam derajat yy adalah posisi dalam menit zz adalah posisi dalam detik
Format-format tersebut diatas perlu dirubah secara penuh ke dalam derajat, contoh nya adalah posisi 06o 13’ 11 ’’ ketika dirubah kedalam derajat adalah 06+13/60+11/3600 akan sama dengan 6,219722 o . Pengaruh dari south/ north adalah jika north maka nilainya adalah positif, dan jika south maka nilainya negatif.
Sebelum memasuki cara kerja dari pembuatan peta ini lebih dalam , ada baiknya kita memahami cara kerja pentransferan data dari database dengan melihat gambar 3.9 tentang flowchart database
Gambar 3.10 Flowchart Database
sms Database Untuk menyimpan database
kereta Table ID KA
received Table Untuk menyimpan database
sms
namaKereta Field Untuk menyimpan nama
KA
numKereta Field Untuk menyimpan ID KA
tgl Field Untuk menyimpan tanggal
sms
sender Field Untuk menyimpan nomor
pengirim SMS
msg Field Untuk menyimpan SMS
North Field Untuk menyimpan
koordinat Y
East Field Untuk menyimpan
koordinat X Tabel 3.3 Fungsi-fungsi pada program database
Kalibrasi Peta
Ada poin penting dalam melakukan kalibrasi peta ini, yaitu kita harus mengetahui titik acuan dari peta, sehingga bisa menghasilkan perbandingan antara pixel dan derajat, terdapat beberapa proses untuk melakukan kalibrasi ini, yaitu pertama-tama kita harus memgambil sample peta yang kita inginkan, kemudian kita membuat suatu titik acuan di kiri atas, kiri bawah, dan kanan atas. Hal ini dilakukan agar kita dapat mengetahui panjang dan lebar dari peta yang akan kita kalibrasi dalam satuan derajat. Misalkan titik acuan yang diambil di posisi kiri atas adalah x = 106.81485 ,y = 6.175441667 lalu titik acuan yang diambil di posisi kanan atas adalah x1 = 106.841597222, y1 = 6.175441667 kemudian titik acuan pada kiri bawah peta x2 = 106.81485 ,y2 = 6.1940583333. Setelah itu barulah dilakukan perhitungan-perhitungan sebagai berikut :
1. Perhitungan range dari kiri atas sampai ke kanan atas
Yaitu dengan cara titik koordinat dari kanan atas dikurangi oleh titik koordinat dari kiri atas, maka didapat range x = 0.02674722 derajat
2. Perhitungan range dari kiri atas sampai ke kiri bawah
Yaitu dengan cara titik koordinat kiri bawah dikurangi dengan titik koordinat kiri atas, maka didapat range y = 0.018663 derajat
3. Perbandingan antara derajat dengan pixel
Untuk range x yaitu: 0.02674722 derajat = 1024 px, maka didapat 1 derajat untuk range x adalah 38.284 pixel. Sedangkan untuk range y yaitu: 0.0186663 derajat = 716 px maka didapat 1 derajat untuk range y adalah 38.357 px
Selanjutnya kalibrasi peta diserahkan kepada program untuk diolah lebih bagus lagi, hal yang perlu diperhatikan adalah titik acuan yang selalu merujuk ke kiri atas peta dan sebuah perintah:
xkoor=(f-a)*[range pixel untuk x] ykoor=(h-b)*[range pixel untuk y]
dimana:
xkoor :adalah koordinat x setelah kalibrasi ykoor :adalah koordinat y setelah kalibrasi f :adalah koordinat x sebelum kalibrasi h :adalah koordinat y sebelum kalibrasi
Untuk lebih jelas dari perhitungan diatas dapat dilihat pada listing program di lampiran. Berikut adalah tabel properti pada program peta:
Nama Tipe Fungsi
GPS Variabel Untuk menampung data
dari PHP
GetAxis Function Untuk memanggil variabel
koordinat pada PHP
X Variabel Koordinat X
Y Variabel Koodinat Y
a Variabel Titik acuan x
b Variabel Titik acuan y
Xkoor Variabel Titik x pada peta
Ykoor Variabel Titik y pada peta
Teks1 Instance name Tampilan teks koordinat Teks2 Instance name Tampilan teks koordinat Teks3 Instance name Tampilan tanggal
Hasil1 Variabel Untuk menampung teks1
Hasil 2 Variabel Untuk menampung teks2 Tanggal Variabel Untuk menampung tanggal
sekarang
GPS.Xaxis Variabel Axis X dari php GPS.Yaxis Variabel Axis Y dari php
3.2 Rancang Bangun
Karena pada sistem kami paling lebih ke perancangan perangkat lunak, maka kami tidak mencantumkan dimensi, kami lebih mengarahkan ke blok-blok pada masing-masing tempat untuk meletakan sistem kami, yaitu sistem yang ada pada atas kereta api dan sistem yang ada pada pusat kontrol, berikut adalah rancangan secara skematiknya
Gambar 3.12 Skematik rancang bangun Untuk cara kerjanya dapat dilihat pada sub bab 3.1