41 const int button_start = 7; //pin for start GPS
const int button_stop = 6; //pin for stop GPS
int buttonstate_start; // keadaaan tombol start
int buttonstate_stop; //keadaaan tombol stop
int ledPin = 13;
//---
char aux;
int x = 0;
//char N_S,W_E;
char frame[200];
char latitude[15];
char longitude[15];
char altitude[6];
char date[16];
char time[7];
42 char speedOTG[10];
char course[10];
float
old_latitude,old_longitude,new_latitude,new_longitude;
float micros_old,micros_new,waktu;
float jarak,velocity;
void setup(){
pinMode(ledPin, OUTPUT); //led for signal gps
pinMode(onModulePin, OUTPUT); //start module gps
pinMode(button_start, INPUT); //start button
pinMode(button_stop, INPUT); //stop button
Serial.begin(115200);
if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
u8g.setColorIndex(255); // white
}
43 u8g.setColorIndex(3); // max intensity
}
else if ( u8g.getMode() == U8G_MODE_BW ) {
u8g.setColorIndex(1); // pixel on
}
else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
u8g.setHiColorByRGB(255,255,255);
}
Serial.println("Starting...");
power_on();
delay(3000);
// starts the GPS and waits for signal
while ( start_GPS() == 0);
44 void draw1(void) // display start
{
// graphic commands to redraw the complete screen should be placed here
u8g.setFont(u8g_font_gdr11);
u8g.drawStr( 4, 14, "Lat : ");
u8g.setFont(u8g_font_gdr11);
//u8g.setFont(u8g_font_osb21);
u8g.setPrintPos( 4, 36);
u8g.print(latitude);
u8g.setFont(u8g_font_gdr11);
u8g.drawStr( 4, 58, "Long :");
u8g.setFont(u8g_font_gdr11);
u8g.setPrintPos(4, 80);
45 }
void draw2(void) //display stop
{
u8g.setFont(u8g_font_gdr11);
u8g.drawStr( 4, 14, "Lat: "); //menampilkan data latitude
u8g.setFont(u8g_font_gdr11);
u8g.setPrintPos( 16, 14);
u8g.print(latitude); //nilai latitude
u8g.setFont(u8g_font_gdr11);
u8g.drawStr( 4, 20, "Long:");//menampilkan data longitude
u8g.setFont(u8g_font_gdr11);
u8g.setPrintPos( 16, 20);
u8g.print(longitude); //nilai longitude
46 u8g.drawStr( 4, 26, "Dist:");//menampilkan data jarak
u8g.setFont(u8g_font_gdr11);
u8g.setPrintPos( 16, 26);
u8g.print(jarak); //nilai distance
u8g.drawStr( 4, 32, "Velo:");
//menampilkan data kecepatan
u8g.setFont(u8g_font_gdr11);
u8g.setPrintPos( 16, 32);
u8g.print(velocity); //nilai velocity
}
//MAIN PROGRAM
---
void loop(){
47 ---
while( (sendATcommand("AT+CGPSSTATUS?", "2D Fix", 5000) ||
sendATcommand("AT+CGPSSTATUS?", "3D Fix", 5000)) == 0 );
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW
delay(100); // wait for a second
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW
delay(100);
48 //read state of button
---
buttonstate_start=digitalRead(button_start);
buttonstate_stop=digitalRead(button_stop);
---
//take data GPS first in start.
---
if(buttonstate_start=LOW){
// gets GPS data
get_GPS();
micros_old=micros();
old_latitude=atof(latitude); //conversion from char to float using fucntion atof
old_longitude=atof(longitude); //conversion from char to float using fucntion atof
u8g.firstPage();
49 draw1();
}while (u8g.nextPage());
//Serial.print(latitude);
//Serial.println(longitude);
get_GPS();
delay(100);
}
---
//take data GPS in ending
---
if(buttonstate_stop=LOW){
// gets GPS data
get_GPS();
micros_new=micros();
50 new_longitude=atof(longitude);//conversion from char to float using fucntion atof
distance(new_latitude,new_longitude,old_latitude,old_lo ngitude);//in meter
waktu=(micros_new-micros_old)/1000 ;//in milisecond
velocity=(jarak/waktu);//dalam satuan m/second
51 ---
//start module GPS
---
void power_on(){
uint8_t answer=0;
// checks if the module is started
answer = sendATcommand("AT", "OK", 2000);
if (answer == 0)
{
// power on pulse
digitalWrite(onModulePin,HIGH);
delay(3000);
digitalWrite(onModulePin,LOW);
52 while(answer == 0){
// Send AT every two seconds and wait for the answer
answer = sendATcommand("AT", "OK", 2000);
}
}
}
---
//PART OF THE CODE TO FIND THE POSITION OF GPS
---
int8_t start_GPS(){
unsigned long previous;
53 // starts the GPS
sendATcommand("AT+CGPSPWR=1", "OK", 2000);
sendATcommand("AT+CGPSRST=0", "OK", 2000);
// waits for fix GPS
while(( (sendATcommand("AT+CGPSSTATUS?", "2D Fix", 5000) ||
sendATcommand("AT+CGPSSTATUS?", "3D Fix", 5000)) == 0 ) &&
((millis() - previous) < 90000));
if ((millis() - previous) < 90000)
{
return 1;
}
else
{
return 0;
54 }
---
//GETTING GPS DATA INCLUDE LATITUDE AND LONGITUDE
---
int8_t get_GPS(){
int8_t counter, answer;
long previous;
// First get the NMEA string
// Clean the input buffer
while( Serial.available() > 0) Serial.read();
// request Basic string
sendATcommand("AT+CGPSINF=0", "AT+CGPSINF=0\r\n\r\n", 2000);
55 answer = 0;
memset(frame, '\0', 100); // Initialize the string
previous = millis();
// this loop waits for the NMEA string
do{
if(Serial.available() != 0){
frame[counter] = Serial.read();
counter++;
// check if the desired answer is in the response of the module
if (strstr(frame, "OK") != NULL)
{
answer = 1;
}
}
// Waits for the asnwer with time out
56 while((answer == 0) && ((millis() - previous) < 2000));
frame[counter-3] = '\0';
// Parses the string
strtok(frame, ",");
strcpy(longitude,strtok(NULL, ",")); // Gets longitude
strcpy(latitude,strtok(NULL, ",")); // Gets latitude
strcpy(altitude,strtok(NULL, ".")); // Gets altitude
strtok(NULL, ",");
strcpy(date,strtok(NULL, ".")); // Gets date
strtok(NULL, ",");
strtok(NULL, ",");
57 strcpy(speedOTG,strtok(NULL, ",")); // Gets speed over ground.
strcpy(course,strtok(NULL, "\r")); // Gets course
convert2Degrees(latitude);
convert2Degrees(longitude);
return answer;
}
---
/* convert2Degrees ( input ) - performs the conversion from input
* parameters in DD°MM.mmm’ notation to DD.dddddd° notation.
*
* Sign '+' is set for positive latitudes/longitudes (North, East)
58 *
*/
---
int8_t convert2Degrees(char* input){
float deg;
float minutes;
boolean neg = false;
//auxiliar variable
char aux[10];
if (input[0] == '-')
{
neg = true;
59 }
else
{
strcpy(aux, strtok(input, "."));
}
// convert string to integer and add it to final float variable
deg = atof(aux);
strcpy(aux, strtok(NULL, '\0'));
minutes=atof(aux);
minutes/=1000000;
if (deg < 100)
{
minutes += deg;
deg = 0;
60 else
{
minutes += int(deg) % 100;
deg = int(deg) / 100;
}
// add minutes to degrees
deg=deg+minutes/60;
if (neg == true)
{
deg*=-1.0;
}
neg = false;
61 neg = true;
deg*=-1;
}
float numeroFloat=deg;
int parteEntera[10];
int cifra;
long numero=(long)numeroFloat;
int size=0;
while(1){
size=size+1;
cifra=numero%10;
numero=numero/10;
parteEntera[size-1]=cifra;
if (numero==0){
break;
62 }
int indice=0;
if( neg ){
indice++;
input[0]='-';
}
for (int i=size-1; i >= 0; i--)
{
input[indice]=parteEntera[i]+'0';
indice++;
}
input[indice]='.';
indice++;
numeroFloat=(numeroFloat-(int)numeroFloat);
63 {
numeroFloat=numeroFloat*10;
cifra= (long)numeroFloat;
numeroFloat=numeroFloat-cifra;
input[indice]=char(cifra)+48;
indice++;
}
input[indice]='\0';
}
---
//FUNCTION FOR SEND ATCOMMAND
---
int8_t sendATcommand(char* ATcommand, char* expected_answer1, unsigned int timeout){
uint8_t x=0, answer=0;
64 unsigned long previous;
memset(response, '\0', 100); // Initialize the string
delay(100);
while( Serial.available() > 0) Serial.read(); // Clean the input buffer
Serial.println(ATcommand); // Send the AT command
x = 0;
previous = millis();
// this loop waits for the answer
65 if(Serial.available() != 0){
response[x] = Serial.read();
x++;
// check if the desired answer is in the response of the module
if (strstr(response, expected_answer1) != NULL)
{
answer = 1;
}
}
// Waits for the asnwer with time out
}
while((answer == 0) && ((millis() - previous) < timeout));
return answer;
66 ---
//FORMULA TO FIND DISTANCE BETWEEN TWO POINTS
float latitude_rad_start,delta_lat;
float latitude_rad_end,delta_lon;
int R = 6371000;//radius bumi
latitude_rad_start=latitude_start*(0.0174532925); //konversi nilai latitude ke radian
latitude_rad_end=latitude_end*(0.0174532925);//konversi nilai latitude awal ke radian
67
delta_lon=(longitude_end-longitude_start)*(0.0174532925);//need to be convert to radian
a =
sin(delta_lat/2)*sin(delta_lat/2)+cos(latitude_start)*c os(latitude_end)*(sin(delta_lon/2)*sin(delta_lon/2));
c = 2*atan2(sqrt(a),sqrt(1-a));
jarak = R*c;
}
39
DAFTAR PUSTAKA
[1] Hermawan Putra Prasetyo, Aulia S.A, Fitri Adi Iskandarianto. 2012. Perancangan Sistem Navigasi pada Kapal (MCST-1 Ship Autopilot)
untuk Mendukung Sistem Autopilot. Penelitian Tugas Akhir. Surabaya:
Fakultas Teknologi Industri ITS.
[2] Surya Purba Wijaya, Yuli Christiyono, Sukiswo. 2010. Alat Pelacak Lokasi Berbasis GPS Via Komunikasi Seluler. Penelitian S-1.
Semarang: Fakultas Teknik Universitas Diponegoro.
[3] Garmin Corporation. 2000. GPS Gude for Beginners. USA: Garmin International, Inc.
40
[5] Banzi, Massimo. 2011. Getting Started with Arduino. USA: O’Reilly
Media, Inc.
[6] Syahwil, Muhammad. 2013. Panduan Mudah Simulasi dan Praktik Mikrokontroler Arduino. Yogyakarta: Andi.
Lampiran A
#include "U8glib.h"
U8GLIB_SSD1306_128X64
u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FA
ST);
// Fast I2C / TWI
int8_t answer;
int onModulePin= 2;
24
BAB III
PERANCANGAN SISTEM
3.1. Gambaran Umum Sistem Minimal GPS
Gambaran umum sistem minimal GPS merupakan gambaran keseluruhan proses yang dilakukan sistem serta modul-modul yang digunakan untuk
mengerjakan masing-masing proses tersebut yang nantinya akan diterapkan dalam pembuatan program sketch Arduino. Pada Tugas Akhir ini penulis akan
merancang sistem minimal GPS SIM908-C berbasis Arduino Pro Mini. Data pengiriman posisi dan kecepatan akan diterima oleh modul GPS SIM908-C yang menggunakan Arduino Pro Mini sebagai pengolah data. Hasil data ini akan ditampilkan melalui modul OLED Display.
3.2. Diagram Blok Sistem Minimal GPS
25
Gambar 3.3 Blok Diagram Sistem Minimal GPS
Pada gambar 3.3 terlihat 3 bagian blok diagram berupa Modul GPS SIM908-C, Arduino Pro Mini, dan OLED Display SSD 1396. Berikut ini adalah penjelasan fungsi dari tiap blok pada gambar 3.3.
1. Blok Modul GPS
Sebagai modul utama yang berfungsi menerima data yang dikirmkan oleh GPS satelit. Setelah meminta request dari satelit maka satelit akan memberi data-data yang dibutuhkan dan dikirmkan ke modul ini. Kemudian modul ini melakukan perhitungan mengenai data-data yang telah diterima. Modul ini melakukan komunikasi 2 arah dengan Arduino Pro Mini.
2. Blok Arduino
Blok ini terdapat Arduino Pro Mini yang mengolah data dan mengatur komunikasi antar modul, memerintahkan modul GPS untuk request data segera setelah modul GPS melakukan locking, maka data akan
26 3. Blok Modul OLED Display
Blok ini terdapat modul OLED Display yang menampilkan data hasil olahan di Arduino yang sebelumnya dilakukan perhitungan di modul GPS. OLED Display hanya menerima data sehingga komunikasi hanya terjadi satu arah, dari Arduino ke modul OLED Display. Komunikasi Satu arah ini menggunakan komunikasi I2C serial.
3.3. Rancangan Rangkaian Sistem
3.3.1 Perancangan Perangkat Keras
27
Gambar 3.1 Schematic Diagram Sistem GPS
Pada gambar 3.1 terdapat pin-pin modul GPS SIM908C, pin-pin Arduino Pro Mini, dan pin-pin OLED Display. Berikut ini adalah penjelasan dari tiap-tiap pin yang dipakai dalam merancang rangkaian sistem minimal GPS.
1. Pin 1, 2, 5, 14, 37, 40, 41, 43, 57, 58, 60, 61, 64, 65, 77, 78, 80 sebagai pin GND (ground) yang saling dihubungsingkatkan. (Modul GPS) 2. Pin 3 sebagai pin PWRKEY inputan catu daya sebesar 5 V kepada
modul GPS. (Modul GPS)
3. Pin 42 sebagai Power Supply untuk RTC yang dihubungkan dengan kapasitor 220 µF. (Modul GPS)
4. Pin 51 adalah pin status NETLIGHT (Network Status). (Modul GPS) 5. Pin 62, 63 sebagai pin VBAT Input Power Supply 3.2 V - 4.8 V. Yang
dihubungkan dengan IC 7805 dan kapasitor 100 nF. (Modul GPS) 6. Pin 58 sebagai pin RXD adalah pin input receive data. Yang
dihubungkan dengan konektor P4 dan terhubung ke pin 1 Ard-TXD Arduino Pro Mini. (Modul GPS)
28 9. Pin 74 sebagai pin charger Input. (Modul GPS)
10.Pin 76 dan 75 sebagai Output antenna dan Input Power Supply yang dihubungsingkatkan. (Modul GPS)
11.Pin 1 yang diberi catu daya 3.3 V dari regulator LM 317 untuk catu daya. (OLED Display).
12.Pin 2, 3, dan 4 sebagai pin V_Gnd, V_SCL, dan V_SDA. (OLED Display)
13.Pin 1 dan 2 sebagai Ard_TXD dan Ard_RXD merupakan pin transmitt dan receive pada RXD dan TXD modul GPS SIM 908C. (Arduino Pro Mini)
14.Pin 5 sebagai pin Input Power (Arduino Pro Mini).
15.Pin 34 dan 35 sebagai pin SDA dan SCL (Arduino Pro Mini). 16.Pin 15 sebagai Inputan Catu daya VCC +15 V. (Arduino Pro Mini).
29
Gambar 3.2 Sistem minimal GPS SIM908C portable
3.1. Perancangan Perangkat Lunak
Pada perancangan perangkat lunak ini menggunakan software IDE Arduino yang disebut sketch. IDE ini menggunakan bahasa java, yang merupakan software GUI (Graphical User Interface) canggih yang mudah dalam penggunaannya.
Program GPS yang dirancang terdapat pada lampiran A. Program ini akan dieksekusi untuk mengolah data yang didapat oleh modul GPS SIM908-C dan menampilkannya di layar modul OLED Display. Berikut ini adalah flowchart program pengolahan data pada gambar 3.3.
30
tidak tidak
ya ya
Gambar 3.3 Flowchart Program
31 Pengujian sistem minimal GPS adalah dengan melakukan pengujian locking terlebih dahulu oleh modul GPS. Locking ini membutuhkan minimal 3
32
BAB IV
PENGUJIAN DAN ANALISIS
4.1. Pengujian Locking
Pengujian ini dilakukan untuk mengukur lamanya waktu locking, yaitu waktu yang dibutuhkan sistem untuk mendapatkan koneksi dari minimal 3 buah satelit. Pengujian ini dilakukan percobaan berulang kali sebanyak 5 kali percobaan dengan alat sistem minimal GPS dalam keadaan diam. Percobaan ini dilakukan di dalam ruangan. Hasil pengujian ditampilkan pada tabel 4.1.
Tabel 4.1 Pengujian Locking
Percobaan Waktu locking (sekon)
Percobaan 1 259
Percobaan 2 158
Percobaan 3 135
Percobaan 4 269
Percobaan 5 352
33 Perbedaan hasil ini disebabkan jumlah satelit yang mampu dilocking oleh sistem minimal GPS.
4.2. Pengujian Akurasi Posisi
Pengujian ini dilakukan dengan menentukan titik awal di tempat tempat umum yang kemudian dilihat posisinya pada google map. Hasil ini kemudian dibandingkan dengan titik-titik yang sama tetapi diukur menggunakan alat sistem minimal GPS yang dirancang. Berikut ini adalah hasil pengujian pada tabel 4.2 dan gambar 4.2.
Tabel 4.2 Pengujian Akurasi Posisi
google map (derajat) Sistem Minimal GPS (derajat)
Latitude Longitude Latitude Longitude
3.561345 98.655396 3.561858 98.654808
3.567360 98.655844 3.567781 98.654730
3.567230 98.660015 3.567643 98.662364
34
Gambar 4.2 Pengujian Akurasi Posisi
Pada gambar 4.2 dapat kita lihat bahwa selisih minimum perbedaan antar hasil yang diberikan oleh sistem minimal GPS dengan hasil yang ditunjukkan oleh google map terdapat perbedaan yang sangat kecil. Hal ini sesuai dengan performansi alat yang mempunyai akurasi titik sebesar +/- 2.5 m.
4.3. Pengujian Akurasi Kecepatan
Pengujian ini dilakukan dengan menjalankan sistem minimal GPS menggunakan kendaraan dengan kecepatan tertentu dan membandingkannya dengan nilai yang didapat oleh sistem minimal GPS. Pada pengujian ini menggunakan kendaraan Yamaha Vixion Lightning tahun 2015. Data hasil pengujian akurasi kecepatan menggunakan alat sistem minimal GPS terhadap kecepatan kendaraan ditampilkan pada tabel 4.3 dan pada gambar 4.3.
35
Tabel 4.3 Pengujian Akurasi Kecepatan
speed kendaraan (km/jam) speed sistem minimal GPS (km/jam)
10 9.237
20 18,735
30 28,983
40 38,104
Gambar 4.3 Pengujian Akurasi Kecepatan
Dari hasil ini didapat selisih akurasi terbesar hanya 1,896 km/jam dan selisih akurasi terkecil sebesar 0,763 km/jam.
4.4. Pengujian Latency Pengiriman Data
36 sistem minimal GPS. Data hasil pengujian diperlihatkan pada tabel 4.4 dan grafik 4.4.
Tabel 4.4 Pengujian Latency penerimaan Data
speed kendaraan (km/jam) Latency Pengiriman data (µs)
10 129936.00
20 129552.00
30 129424.00
40 129040.00
Gambar 4.4 Pengujian Latency penerimaan Data
Dari hasil ini terlihat bahwa rata-rata latency yang terjadi sebesar 128488 µs. Hasil ini masih sangat cocok untuk penggunaan umum sebagai sistem portable yang membutuhkan kecepatan dalam menerima informasi. Latency ini disebabkan
1 2 3 4
speed kendaraan
(km/jam) 10.00 20.00 30.00 40.00
Latency Pengiriman
data (µs) 129936.00 129552.00 129424.00 129040.00
37 adanya error pada lapisan atmosfer dan kemampuan kalkulasi triangulasi sistem minimal GPS.
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari proses yang telah dilakukan pada Tugas Akhir ini, mulai dari perancangan sampai pengujian dan analisis sistem, serta pembahasan pada bab-bab sebelumnya dapat diambil kesimpulan sebagai berikut:
1. Arduino Pro Mini difungsikan sebagai pengendali antara modul GPS SIM908-C dan modul OLED DisplaySSD1396 I2C.
2. Sistem minimal GPS yang dirancang dapat menampilkan data posisi dan kecepatan serta latency.
3. Latency disebabkan oleh banyak hal, salah satunya gangguan pada lapisan atmosfer.
38
5.2 Saran
Pada penelitian tugas akhir ini penulis menyarankan beberapa hal untuk penelitian selanjutnya. Dengan beberapa pengembangan antara lain:
1. Perlu dilakukan pengembangan sistem minimal GPS yang dirancang agar dapat digunakan untuk kepentingan umum, seperti pada pelacakan kendaraan. 2. Agar selanjutnya data yang ditampilkan dapat disimpan dalam kartu memory. 3. Diharapkan ke depannya dapat dilakukan pengembangan sistem perangkat
6
BAB II
DASAR TEORI
2.1. GPS (Global Positioning System)
GPS adalah sistem navigasi berbasiskan satelit yang saling berhubungan
pada orbitnya kemudian memancarkan sinyalnya ke bumi dan ditangkap oleh sebuah alat penerima. Satelit-satelit itu milik Departemen Pertahanan Amerika Serikat yang pertama kali diperkenalkan pada tahun 1978 dan pada tahun 1994 yang sudah mempunyai 24 satelit yang mengorbit.
Ada tiga bagian penting dari sistem ini, yaitu bagian kontrol, bagian angkasa, dan bagian pengguna [2].
1. Bagian kontrol berfungsi sebagai pengontrol dan pengoreksi data informasi satelit yang diterima untuk kemudian dikirimkan kembali ke satelit. Data satelit yang dikoreksi ini disebut data emepheris yang akan dikirimkan ke alat penerima GPS.
2. Bagian angkasa adalah kumpulan satelit yang mengorbit di angkasa. Satelit–satelit dikontrol sehingga pesawat penerima GPS tetap dapat menerima sinyal dari satelit sebanyak minimal 3 atau 4 satelit.
3. Bagian pengguna merupakan bagian yang menerima sinyal-sinyal dari satelit dan melakukan perhitungan (triangulasi) untuk menentukan koordinat posisinya. Satelit GPS akan memancarkan data emepheris yang akan diterima oleh alat GPS receiver secara teratur [3].
7 satelit GPS. Dibutuhkan paling sedikit sinyal dari 3 buah satelit untuk mendapatkan data posisi. Untuk menunjukkan data ketinggian dibutuhkan 4 buah satelit. Posisi diubah menjadi titik yang dikenal dengan nama Way-point nantinya akan berupa titik-titik koordinat lintang dan bujur dari posisi seseorang atau suatu lokasi kemudian di layar pada peta elektronik. GPS receiver sendiri berisi beberapa IC (Integrated Circuit) sehingga murah dan teknologinya mudah untuk digunakan oleh semua orang. GPS dapat digunakan utnuk berbagai kepentingan, misalnya navigasi, sistem informasi geografis, militer, pelacak kendaraan, pemantauan gempa yang diintegrasikan dengan komputer. Berikut contoh perangkat GPS receiver:
8
2.1.1 Satelit GPS
Satelit GPS berada di Medium Earth Orbit (MEO) yang berada pada ketinggian sekitar 20.200 km (12550 mil). Satelit di konstelasi GPS disusun menjadi enam pesawat orbital berjarak sama di sekitar Bumi. Setiap pesawat berisi empat "slot" yang ditempati oleh satelit dasar. Pengaturan 24 slot ini memastikan pengguna dapat melihat setidaknya empat satelit dari hampir setiap titik di planet ini.
Gambar 2.2 Konstelasi 27 Satelit
9 bagian dari konstelasi inti. Pada bulan Juni 2011, Angkatan Udara berhasil menyelesaikan ekspansi GPS konstelasi dikenal sebagai "ekspansi 24" konfigurasi. Tiga dari 24 slot diperluas, dan enam satelit ditempatkan, sehingga tiga dari satelit tambahan menjadi bagian dari dasar konstelasi. Akibatnya, GPS sekarang secara efektif beroperasi sebagai konstelasi 27-slot dengan cakupan yang ditingkatkan di sebagian besar belahan dunia.
2.1.2 Sinyal Satelit GPS
GPS bekerja dengan cara memanfaatkan sinyal yang dipancarkan oleh satelit GPS. Satelit ini berputar mengelilingi bumi selama dua kali sehari dan kemudian mentransmisikan sinyal ke bumi. Sinyal inilah yang kemudian digunakan untuk menghitung posisi perangkat GPS.
Dalam mengirimkan sinyal Satelit GPS menggunakan frekuensi tertentu yang menggunakan pola-pola kode digital, berikut ini adalah sinyal dan kode digital yang digunakan oleh satelit GPS.
1. Carrier
Satelit GPS mengirim sinyal dalam dua frekuensi, yaitu L1 pada 1575.42 MHz dengan membawa dua status pesan dan psudorandom code untuk keperluan perhitungan waktu. Sedangkan L2
pada 1227.60 MHz yang lebih akurat karena untuk keperluan militer. Daya sinyal radio yang dipancarkan sebesar 20 - 50 W. Sinyal dipancarkan secara Line Of Sight (LOS) [4].
10 GPS yang digunakan untuk umum akan memantau frekuensi L1 pada UHF (Ultra High Frequency) 1575.42 MHz. Sinyal L1 yang dikirimkan akan memliki pola-pola kode digital tertentu yang disebut pseudo ramdom codes. Sinyal yang dikirimkan terdiri dua bagian yaitu
kode Protected (P) dan Coarse/Acquisition (C/A). Kode yang dikirim memiliki perbedaan masing-masing sehingga membedakan sinyal yang dikirim oleh satelit lainnya. Kode protected (P) ini biasanya digunakan untuk keperluan militer [4].
2.1.3 Error Pada GPS
Satelit GPS berada di atas lapisan atmosfer bumi yang terdapat beberapa lapisan, perbedaan suhu, dan tekanan. Salah satu penyebab delay adalah pada lapisan atmosfer. Lapisan atmosfer ini mempengaruhi sinyal GPS yang dikirim ke bumi. Kecepatan sinyal GPS pada tiap lapisan atmosfer berbeda tergantung medium dari lapisan atmosfer tersebut. Perbandingan kecepatan gelombang cahaya(c) terhadap kecepatan gelombang sinyal GPS(v) disebut indeks bias medium(n), seperti pada rumus 3.1:
�
=
�
�
(3.1)
Di mana kecepatan cahaya sebesar 299,792,458 m/s [4].
Terdapat 2 lapisan atmosfer yang mempengaruhi sinyal GPS yaitu sebagai berikut:
11 Lapisan ionosfer adalah lapisan medium primer di lapisan atmosfer yang berada 70 km sampai 10000 km di atas permukaan tanah. Di daerah ini, sinar UV (Ultraviolet) dari ionisasi matahari sebagai bagian dari molekul gas dan melepaskan electron bebas. Elektron bebas ini mempengaruhi propagasi gelombang elektromagnetik, termasuk kecepatan sinyal pengiriman sinyal satelit GPS baik fase maupun kode.
Pada sinyal fase, ionosfer akan meningkatkan kecepatan sinyal fase sehingga waktu tempuh sinyal menjadi lebih pendek dan sebaliknya pada kode, ionosfer akan menurunkan kecepatan sinyal carrier wave sehingga waktu tempuh sinyal menjadi lebih panjang. Untuk mengurangi delay pada lapisan ionosfer adalah membuat 2 sinyal dengan frekuensi berbeda. Hal inilah yang menyebabkan GPS memiliki 2 sinyal L1 dal L2 [3].
2. Lapisan Troposfer
Lapisan troposfer adalah medium non dispersive untuk gelombang radio pada frekuensi hingga 15 GHz. Lapisan ini tidak berpengaruh terhadap perbedaan frekuensi GPS, tetapi mengalami refraksi oleh gas-gas lain yang terdapat di lapisan troposfer. Akibatnya menimbulkan delay sinyal sebesar 1.9 m - 2.5 m pada arah zenith dan ≈30 m pada arah horizon. Besarnya penyimpangan jarak disebabkan oleh perlambatan waktu tempuh akibat pengaruh troposfer di arah zenith (vertikal) disebut dengan Zenith Tropospheric Delay (ZTD) [3].
12 Pesawat penerima GPS menggunakan sinyal satelit untuk melakukan triangulasi posisi yang hendak ditentukan dengan cara mengukur lama perjalanan waktu sinyal dikirimkan dari satelit, kemudian mengalikannya dengan kecepatan cahaya untuk menentukan secara tepat berapa jauh pesawat penerima GPS dari setiap satelit. Dengan mengunci sinyal yang ditransmit oleh satelit minimum 3 sinyal dari satelit yang berbeda, pesawat penerima GPS dapat menghitung posisi tetap sebuah titik yaitu posisi lintang dan bujur bumi (Latitude & Longitude) atau sering disebut dengan 2D fix. Penguncian sinyal
satelit yang keempat membuat pesawat penerima GPS dapat menghitung posisi ketinggian titik tersebut terhadap muka laut rata-rata (Mean Sea/Level) atau disebut 3D fix dan keadaan ini yang ideal untuk melakukan navigasi [2].
2.2. Modul GPS SIM 908-C
13
Gambar 2.3 Modul SIM908-C
2.2.1 Spesifikasi GPS SIM908-C
SIM908-C dirancang dengan teknik penghematan daya sehingga konsumsi saat ini serendah 1.0 mA dalam modus sleep (modul GPS dimatikan). Berikut ini adalah spesifikasi GPS SIM 908-C yang ditunjukkan pada tabel 2.1.
Tabel 2.1 Spesifikasi GPS SIM 908-C
Fitur Implementasi
Catu daya` 3.2 V – 4.8 V
Power Saving Konsumsi daya yang khas dalam sleep mode 1.0mA (BS-PA-MFRMS=9, GPS mesin dimatikan)
Horizontal Position
Accuracy 2.5 m
Velocity Accuracy Speed 0.01 m/s
Time To First Fix Hot start 1 s, cold start 30 s
Receiver Max altitude 18288 km, max velocity 1850 km/h Power consumption Continuous Tracking = 76 mA
Acquisition = 77
Power down current = 0.03 uA
2.2.2 SIM908-C GPS Application Interface
14 mendukung operasi sepenuhnya otonom untuk perangkat navigasi penggunaan inhandheld dan sistem navigasi mandiri lainnya. Informasi yang ditampilkan GPS
NMEA adalah melalui pin GPS_TX pada modul GPS SIM908-C. Baud rate secara default adalah 11520 bps.
SIM908-C mengintegrasikan protokol TCP/IP dan menggunakan TCP/IP ATCommand sangat berguna untuk transfer data aplikasi. Semua fungsi GPS
dikendalikan oleh perintah AT-Command melalui port serial. Di bawah ini adalah beberapa fungsi GPS AT-Command yang ditunjukkan pada tabel 2.2.
Tabel 2.2 Beberapa Fungsi GPS AT-Command
Command Deskripsi
AT+CGPSPWR GPS POWER CONTROL
AT+CGPSRST GPS MODE RESET (HOT/WARM/COLD)
AT+CGPSSTATUS GET CURRENT GPS STATUS
AT+CGPSOUT GPS NMEA DATA OUTPUT CONTROL
AT+CGPSINF GET CURRENT GPS LOCATION INFO
AT+CGPSIPR SET GPS NMEA OUTPUT UART BPS
2.2.3 SIM908-C Pin Out Diagram
Modul GPS SIM908-C memiliki sebanyak 80 pin pada gambar 2.4 yang mempunyai beragam fungsi. Pada perancangan alat ini tidak semua pin tersebut digunakan. Berikut ini adalah pin out modul GPS SIM 908-C:
1. VBAT (pin 2, 4, 6, 8) adalah pin Input Power Supply
2. GPS_VCC_RF (pin 56) adalah pin Output untuk GPS Active Antenna 3. GPS_VANT (pin 75 dan 76) adalah pin Input untuk GPS Active Antenna
15 4. GND (pin1, 2, 5, 10, 14, 37, 40, 41, 43, 57, 58, 60, 61, 64, 65, 77, 78,
dan 80) adalah pin Ground
5. PWRKEY (pin 3) adalah pin Input Power On atau PowerDown 6. STATUS (pin 52) adalah pin Output Power On Status
7. NETLIGHT (pin 51) adalah pin Output Network Status 8. RXD (pin 68) adalah pin Input Receive Data
9. TXD (pin 71) adalah pin Output Transmit Data
10.GPS_TX (pin 15) adalah pin Output untuk GPS NMEA Information 11.GPS_RX (16) adalah pin Input Debugging and Upgrading Firmware
Gambar 2.4 Pin Out Diagram SIM 908-C
16 Antena aktif untuk GPS pada gambar 2.5 berfungsi sebagai antena penerima sinyal GPS dari satelit. Antena ini dapat dihubungkan dengan semua peralatan atau modul GPS yang mendukung koneksi IPEX U.FL sering disingkat uFL, misalnya dari modul GPS SIM908-C.
Gambar 2.5 GPS Active Ceramic Antenna
GPS Active Ceramic Antenna memiliki cakupan rentang pita frekuensi sebesar 5 ±1 MHz dengan ukuran yang kecil berbentuk persegi. Berikut ini spesifikasi dari GPS Active Ceramic Antenna yang ditunjukkan pada tabel 2.3.
Tabel 2.3 Spesifikasi GPS Active Ceramic Antenna
Spesifikasi Ukuran
Frekuensi tengah / Center Frequency 1575,42 ±3 MHz Lebar pita frekuensi / Bandwidth 5 ±1 MHz V.S.W.R (Voltage Standing Wave
Ratio, dalam BW) 1,5 : 1
Gain (pada titik Zenith) 2 ±0,5 dB
17
Impedansi 50Ω
2.4. Arduino
Arduino adalah sebuah platform physical computing yang bersifat open source yang didasarkan pada Input atau Output (I/O) sederhana yang
mengimplementasikan bahasa pemrograman C [4]. Arduino memiliki beberapa komponen utama, yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Mikrokontroler itu sendiri adalah chip atau IC (integrated circuit) yang bisa diprogram menggunakan komputer. Tujuan menanamkan
program pada mikrokontroler adalah agar rangkaian elektronik dapat membaca input, memproses input tersebut dan kemudian menghasilkan output sesuai yang
kebutuhan. Jadi mikrokontroler bertugas sebagai otak yang mengendalikan input, proses dan output sebuah rangkaian elektronik [5]
Secara umum, Arduino terdiri dari dua bagian, yaitu : yang pertama adalah bagian hardware berupa papan input/output (I/O) yang open source dan yang ke dua adalah bagian software Arduino yang merupakan software open source, meliputi software Arduino IDE untuk menulis program dan driver untuk koneksi dengan komputer [4].
18 Arduino UNO, Arduino Leonardo, Arduino Mega, Arduino Nano, Arduino Due,
Arduino Yun dan berbagai jenis Arduino lainnnya.
2.4.1 Arduino Pro Mini
Arduino Pro Mini 328 adalah Arduino versi selanjutnya dari Arduino Mini. Arduino Pro Mini ini menggunakan ATmega 328. Bentuk fisik Arduino Pro Mini 328 dapat dilihat pada gambar 2.6.
Gambar 2.6 Arduino Pro Mini 328
Arduino Pro Mini tipe ini memiliki memori sebesar 32 Kb. Arduino tipe ini juga memiliki 20 pin yang berfungsi sebagai input dan output, 6 diantaranya pin analog dan 14 pin adalah pin PWM (Pulse Width Modulation). Dengan osilator kristal 16 MHz. USB merupakan koneksi yang digunakan Arduino untuk terhubung ke PC. Terdapat 2 versi Arduino Pro Mini, yaitu yang bekerja pada tegangan 3.3 V frekuensi 8 MHz dan yang bekerja pada tegangan 5 V frekuensi 16 MHz.
19
Tabel 2.4 Spesifikasi Arduino Promini 328
Spesifikasi Ukuran
Mikrokontroler ATMega 328
Tegangan Operasional 5V
Tegangan Masukan 5 V– 12V
Pin Digital I/O 14 (6 pin untuk keluaran PWM)
Analog input pins 6
Arus DC per I/O Pin 40 mA
Memori Flash 32 Kb (0.5 Kb digunakan untuk
bootloader)
SRAM 2 Kb
EEPROM 1 Kb
Clock Speed 16 MHz
Pemrograman pada Arduino menggunakan bahasa pemrograman C. Program ini digunakan untuk memberi instruksi kepada Arduino agar dapat beroperasi.
Arduino Pro Mini 328 sebagai memiliki fitur seperti mikrokontroler pada umumnya, yaitu memori program, memori data, serta pin I/O. Berikut ini adalah fitur Arduino Pro Mini.
1. Memori Program
Arduino Pro Mini 328 memiliki 32 Kb on-chip in-system reprogrammable flash memory sebagai tempat menyimpan pogram.
Memori flash ini dibagi ke dalam dua bagian, yaitu bagian program bootloader dan aplikasi. Bootloader adalah program kecil yang dieksekusi
20 sistem yang dapat memasukkan seluruh program aplikasi ke dalam memori prosesor seperti terlihat pada gambar 2.7.
Gambar 2.7 : Peta Memori Program
2. Memori Data
Berbeda dari memori program, memori data digunakan untuk menyimpan data bukan program. Memori data pada mikrokontroler ATMega 328 terbagi atas SRAM dan EEPROM.
3. Pin I/O
Arduino Pro Mini 328 memiliki masing-masing dari 14 pin digital yang dapat digunakan sebagai masukan atau keluaran menggunakan fungsi pinMode() dan menentukan proses penulisan atau pembacaan data I/O
21 1. Komunikasi serial: Serial disediakan pada pin 0 (RX) dan pin 1 (TX). TX dan RX merupakan pin yang bekerja sebagai pengirim dan penerima data serial. Pin ini terkoneksi ke pin 0 (RX) dan pin 1 (TX) dari 6 header pin.
2. External interupt: interupt 0 disediakan pada pin 2, interupt 1 yaitu pada pin 3, interupt 2 yaitu pada pin 21, interupt 3 yaitu pada pin 20, interupt 4 yaitu pada pin 19, interupt 5 yaitu pada pin 18. Pin ini
dapat dikonfigurasi untuk memicu sebuah interupt pada nilai rendah, sisi naik atau turun, atau pada saat terjadi perubahan nilai.
3. PWM: Pin 3,5,6,9,10, dan 11 menyediakan keluaran PWM 8-bit 4. SPI: Pin 12 (MISO), 11 (MOSI), 13 (SCK) dan 10 (SS), pin ini
mendukung komunikasi SPI dengan menggunakan SPI library. 5. LED: Pin 13 terhubung dengan LED built-in. Kondisi LED akan
mengikuti kondisi pin 13 ini. Ketika pin bernilai HIGH maka LED menyala, ketika pin bernilai LOW maka LED akan padam.
Selain fitur di atas Arduino Pro Mini 328 memiliki 8 masukan analog yaitu: pin A0 sampai A7, setiap pin menyediakan resolusi sebanyak 10 bit. Secara default pin mengukur nilai tegangan dari ground 0V hingga 5V, meskipun begitu
pengguna dapat mengganti nilai batas atas dengan menggunakan pin AREF dan fungsi analogReference() [5].
2.5. Modul OLED (Organic Light Emiting Diode) Display SSD1396 I2C
22 dan 64 commons. IC ini dirancang untuk Cathode umum jenis panel OLED. SSD1306 sudah embeds dengan kontrol kontras, tampilan RAM dan osilator, yang mengurangi jumlah komponen eksternal dan konsumsi daya. Modul OLED Display memiliki 256-langkah kontrol kecerahan. Data / Perintah yang dikirim
dari general MCU melalui selectable hardware 6800/8000 series kompatibel antarmuka paralel, interface I2C atau Serial Peripheral Interface. Modul ini sangat cocok untuk banyak aplikasi portabel, seperti ponsel, MP3 player, kalkulator, dan banyak aplikasi lainnya.
Gambar 2.8 Modul OLED Display SSD1396 I2C
Modul ini mengonsumsi catu daya tingkat tegangan 3 V dengan konsumsi arus kurang dari 18 mA sehingga dapat digunakan langsung bersama MCU berbasis tegangan 3,3 V (contoh: Arduino Pro Mini 3v3). Untuk mikrokontroler bertegangan 5 V (contoh: Mega 2560, Leonardo, dsb.). Anda dapat menggunakan pin 3.3 V sebagai sumber catu daya (Vcc) . Berikut ini adalah spesifikasi lengkap modul OLED Display SSD1396 I2C yang terdapat pada tabel 2.5.
23
Spesifikasi Ukuran
Resolusi 128 x 64 dot matrix panel
Memori tampilan display RAM , 128 x 64 bit SRAM
Catu Daya VDD= 1.65 V to 3.3 V ( IC logic) VCC= 7 V to 15 V ( panel driving )
Tampilan Matriks
Tegangan maksimum keluaran OLED, 15 V Arus maksimum segment: 100 µA
Arus maksimum sink common: 15 mA 256 pengaturan contrast brightness
PinselectableMCUInterface
8-bit seri 6800/8080 Parallel Interface 3 /4 wire Serial Peripheral Interface I2C Interface
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Dalam pengiriman data informasi suatu benda terdapat latency (tundaan) pada satelit GPS. Latency ini disebabkan banyak faktor, mulai dari sisi satelit GPS itu sendiri, medium pengiriman sinyal satelit, dan dari sisi GPS receiver (penerima). Suatu alat GPS receiver masing-masing memiliki performa yang berbeda-beda tergantung spesifikasi alatnya. Hal ini yang menentukan akurasi posisi dan update data lokasi saat GPS receiver bergerak.
TeknologiGPS adalah sistem untuk menentukan posisi di permukaan bumi dengan bantuan sinkronisasi sinyal satelit. Sistem ini menggunakan 24 satelit yang mengirimkan sinyal gelombang mikro ke Bumi. Sinyal ini diterima oleh alat penerima di permukaan, dan digunakan untuk menentukan posisi, kecepatan, arah, dan waktu[1].Akan tetapi perlu menganalisis kinerja perangkat ini dalam hal latencypenerimaan data posisi dan kecepatan dari satelit ke sistem penerima GPS.
Pada tugas akhir ini akan dibuat sistem minimalGPS dengan modul GPS SIM908-C. Sistem ini dirancang menggunakan Arduino Pro Mini sebagai mikontroler modul GPS SIM908-C dan modul penampil informasi OLED DisplaySSD1396 I2C.Informasi yang dikirimkan dari satelit diterima oleh sistem
2
1.2. Rumusan Masalah
Adapun rumusan masalah dari tugas akhir ini adalah sebagai berikut : 1. Bagaimana prinsip kerja GPS dalam menerima informasi dari satelit. 2. Bagaimana sistem kerja GPS dalam mengirimkan data keArduino.
3. Bagaimana cara mengetahui latency yang terjadi pada pengiriman data posisi dan kecepatan melalui modul GPS.
1.3. Tujuan penulisan
Tujuan dari penulisan tugas akhir ini adalah untuk merancang bangun sistem minimal GPS berbasis Arduino Pro Mini serta menganalisis latency penerimaan data dari satelit ke sistem GPS.
1.4. Batasan Masalah
Untuk memudahkan pembahasan dalam tulisan ini, maka dibuat pembahasan masalah berikut :
1. Data GPS yang ditampilkan hanya berupa posisi latitude, longitude dan kecepatan.
2. Modul GPS yang digunakan adalah modul GPS SIM908-C. 3. MenggunakanArduino Pro Mini sebagai pengolahan data.
3
1.5. Metode Penelitian
Adapun metode penelitian yang digunakan dalam analisis penulisan Tugas akhir ini adalah sebagai berikut:
1. Menggunakan Literatur
Melakukan studi literatur pada berbagai referensi atau pustaka yang berkaitan dengan sistem pelacak posisi dan kecepatan menggunakan modul GPS SIM908-C berbasis Arduino, serta cara kerja dan komunikasinya dengan Arduino. Baik dari buku, artikel, jurnal, dan lain-lain.
2. Diskusi
Melakukan diskusi berupa konsultasi dengan dosen pembimbing dan teman-teman sesama mahasiswa.
3. Perancangan Perangkat Keras
Tahap perancangan perangkat keras yaitu merangsang rangkaian, request data posisi dengan Arduino melalui modul GPS dan
menampilkan data posisi serta kecepatan melalui modul OLED.
4. Perancangan Perangkat Lunak
4 5. Analisis dan Pengujian
Analisis dan pengujian alat pada sistem GPS dalam menerima data dari satelit serta analisislatency pengiriman data posisi dan kecepatan pada modul GPS SIM908-C.
1.6. Sistematika Penulisan
Adapun sistematika penulisan tugas akhir ini sebagai berikut :
BAB I PENDAHULUAN
Bab ini menjelaskan tentang informasi umum, yaitu latar belakang penelitian, rumusan masalah, tujuan penulisan, batasan masalah, metodologi penulisan dan sistematika penulisan.
BAB II DASAR TEORI
Bab ini berisikan tentangdasar teori GPS, Arduino, serta modul pelengkap yang dikutip dari buku maupun referensi lainnya.
BAB III PERANCANGAN SISTEM
Bab ini berisikan tentang gambar umum dariperancangan alat penerima posisi menggunakan GPS, pengaturan komunikasi antar modul, sertakelengkapan dari komponen-komponen elektronika yang akan digunakan.
BAB IV ANALISIS DAN PENGUJIAN
5
BAB V KESIMPULAN DAN SARAN
i
ABSTRAK
GPS (Global Position System) bekerja dengan bantuan penyelarasan sinyal
satelit. Sistem ini menggunakan sejumlah satelit yang mengirimkan gelombang mikro ke bumi. Sinyal ini diterima dengan oleh alat penerima di permukaan, dan digunakan untuk menentukan posisi. Pada tugas akhir ini akan dibuat sistem minimal GPS dengan modul GPS SIM908-C. Sistem ini dirancang menggunakan Arduino Pro Mini sebagai mikontroler modul GPS SIM 908-C dan modul penampil informasi OLED DisplaySSD1396 I2C. Informasi yang dikirimkan dari satelit diterima oleh sistem penerima GPSuntuk kemudian dianalisis latency pengiriman data GPS dari satelit saat bergerak dengan posisi dan kecepatan tertentu. Hasil pengujian menunjukkan rata-rata latency yang terjadi sebesar 128488 µs. Latency yang terjadi sangat kecil dan masih bisa ditoleransi untuk penggunaan kepentingan umum.
Kata Kunci : GPS (Global Position System), kendaraan, mikrokontroler,
TUGAS AKHIR
ANALISIS LATENCY PENGIRIMAN DATA POSISI DAN
KECEPATAN PADA MODUL GPS SIM908-C
Diajukan untuk memenuhi persyaratan menyelesaikan pendidikan
sarjana (S-1) pada Departemen Teknik Elektro Sub konsentrasi Teknik
Komputer
Oleh
ADITYAS ZARDIKA
NIM : 090402105
DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
i
ABSTRAK
GPS (Global Position System) bekerja dengan bantuan penyelarasan sinyal
satelit. Sistem ini menggunakan sejumlah satelit yang mengirimkan gelombang mikro ke bumi. Sinyal ini diterima dengan oleh alat penerima di permukaan, dan digunakan untuk menentukan posisi. Pada tugas akhir ini akan dibuat sistem minimal GPS dengan modul GPS SIM908-C. Sistem ini dirancang menggunakan Arduino Pro Mini sebagai mikontroler modul GPS SIM 908-C dan modul penampil informasi OLED DisplaySSD1396 I2C. Informasi yang dikirimkan dari satelit diterima oleh sistem penerima GPSuntuk kemudian dianalisis latency pengiriman data GPS dari satelit saat bergerak dengan posisi dan kecepatan tertentu. Hasil pengujian menunjukkan rata-rata latency yang terjadi sebesar 128488 µs. Latency yang terjadi sangat kecil dan masih bisa ditoleransi untuk penggunaan kepentingan umum.
Kata Kunci : GPS (Global Position System), kendaraan, mikrokontroler,
ii
KATA PENGANTAR
Alhamdulillahirobbil’alamin senantiasa penulis ucapkan kepada Allah
SWT yang telah memberikan kesempatan bagi penulis untuk dapat terlahir di tengah keluarga yang baik dan karena atas izin-Nya lah maka Tugas Akhir ini dapat terselesaikan. Tidak lupa pula shalawat dan salam kepada Rasulullah Muhammad SAW yang harus selalu menjadi panutan umat muslim di seluruh dunia.
Tugas Akhir ini penulis persembahkan kepada kedua orang tua penulis yaitu Ir. Mariadi dan Kunti Sriwuryanti br Sinaga yang senantiasa mencurahkan kasih sayang dan doa yang tiada terhitung kepada penulis, adik-adik penulis Achmad Nur Ikhsan, Nafissa Tri Ilona dan juga kekasih Suci Nureza Andani Am.Keb, yang selalu memberi semangat kepada penulis.
Tugas Akhir ini merupakan bagian dari kurikulum yang harus diselesaikan untuk memenuhi persyaratan menyelesaikan pendidikan Sarjana Strata Satu di Departemen Teknik Elektro, Fakultas Teknik, Universitas Sumatera Utara. Adapun judul Tugas Akhir ini adalah :
ANALISIS LATENCY PENGIRIMAN DATA POSISI DAN KECEPATAN
PADA MODUL GPS SIM908-C
iii 1. Bapak Ir. Surya Tarmizi Kasim, M.Si selaku Ketua Departemen Teknik
Elektro, Fakultas Teknik, Universitas Sumatera Utara.
2. Bapak Suherman, ST, M.Comp., PhD selaku Dosen Pembimbing Tugas Akhir penulis yang telah meluangkan waktunya untuk membimbing, membantu dan mengarahkan penulis dalam menyelesaikan Tugas Akhir ini. Terimakasih Pak.
3. Bapak Dosen penguji, Bapak Ir. Kasmir Tanjung MT dan Bapak Drs. Hasdari Helmi MT yang telah mengevaluasi serta memberikan pengarahan baik semasa kuliah maupun proses penulisan Tugas Akhir ini. Terimakasih Pak. 4. Bapak Rahmad Fauzi ST, MT, selaku Dosen Wali penulis yang banyak
memberikan masukan dan pengarahan selama penulis menempuh perkuliahan. Terimakasih Pak.
5. Seluruh Staf Pengajar dan Pegawai di Departemen Teknik Elektro FT-USU, abangda Arbi Divo dan kakanda Umi dan Ester yang telah banyak membantu.
6. Dwi Budi Prasetyo ST, sahabat yang selalu ada dalam menuntut ilmu, sahabat yang dengan penuh kesabaran selalu membantu penulis dalam mengerjakan Tugas Akhir, semangat serta pola pikirnya yang luar biasa telah memberi pengaruh yang besar buat penulis. Orang yang sangat baik.
7. Hamdan Hamid ST, junior dan juga sahabat yang telah banyak membantu penulis dalam pengerjaan program Tugas Akhir.
iv 9. Mahdi Masykur ST, sahabat yang selalu bersemangat dan pantang menyerah
telah memberikan teladan yang baik bagi penulis.
10. Muhammad Basri S.Kom, sahabat yang sudah sejak lama menemani penulis dalam menuntut ilmu.
11. Aras Dewanto, ST, sahabat seperjuangan dalam memburu dollar sebagai tentor MAFIA (Matematika, Fisika, Kimia) demi menyelesaikan kuliah. 12. Sahabat-sahabat terbaik yang sudah seperti keluarga Reza Al Kautsar Lubis
ST, Arif Azhari ST, AL Magrizi Fahni ST, Afit Darwanda ST, Teguh ST, Jehuda ST, Rizal ST, Dimas ST, Yuliana Tanjung ST, Nisa ST, Arfan ST, Adly ST, Adit ST, Tondy ST, Faya ST, Agung ST, Lukman ST, Asri ST, Wangto ST, Ahmad ST, Doni ST, Fahrul ST, Rizky ST, Kentrick ST, Leo, Hamdan Hamid ST, Rhobby Maulana ST, Nur Trihardi Utomo ST, Ricky Ardoni ST, bang Recky Suharmon ST, dan semua sahabat penulis yang tidak bisa dituliskan satu persatu.
v Penulis menyadari bahwa Tugas Akhir ini masih jauh dari sempurna. Oleh karena itu, penulis sagat mengharapkan kritik dan saran yang membangun demi penyempurnaan Tugas Akhir ini. Akhir kata, penulis berharap semoga Tugas akhir ini dapat bermanfaat khususnya bagi penulis pribadi dan juga semua pihak yang membutuhkannya.
Medan, Januari 2016 Penulis
vi
DAFTAR ISI
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... vi
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... x
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan Penulisan ... 2
1.4 Batasan Masalah ... 2
1.5 Metode Penelitian ... 3
1.6 Sistematika Penulisan ... 4
BAB II DASAR TEORI ... 6
2.1 GPS (Global Positioning System) ... 6
2.1.1 Satelit GPS ... 8
2.1.2 Sinyal Satelit GPS ... 9
2.1.3 Error pada GPS ... 10
vii
2.2 Modul GPS SIM908-C ... 12
2.2.1 Spesifikasi GPS SIM908-C ... 13
2.2.2 SIM908-C GPS Application Interface ... 13
2.2.3 SIM908-C Pin Out Diagram ... 14
2.3 GPS Active Ceramic Antenna ... 15
2.4 Arduino ... 16
2.4.1 Arduino Pro Mini ... 17
2.5 Modul OLED DisplaySSD1396 I2C ... 21
BAB III PERANCANGAN SISTEM ... 24
3.1 Gambaran Umum Sistem Minimal GPS ... 24
3.2 Diagram Blok Sistem Minimal GPS ... 24
3.3 Rancangan Rangkaian Sistem ... 26
3.3.1 Perancangan PernagkatKeras ... 26
3.3.2 Perancangan Perangkat Lunak ... 28
3.4 Pengujian Sistem ... 30
BAB IV PENGUJIAN DAN ANALISIS ... 32
4.1 Pengujian Locking ... 32
4.2 Pengujian Akurasi Posisi ... 32
viii
4.4 Pengujian Latensi Pengiriman Data... 35
BAB V KESIMPULAN DAN SARAN ... 37
5.1 Kesimpulan ... 37
5.2 Saran ... 37
DAFTAR PUSTAKA ... 39
Lampiran A ... 40
ix
DAFTAR GAMBAR
Gambar 2.1 Perangkat GPS Receiver ... 7
Gambar 2.2 Konstelasi 27 Satelit ... 8
Gambar 2.3 Modul SIM908-C ... 12
Gambar 2.4 Pin Out Diagram SIM 908-C ... 15
Gambar 2.5 GPS Active Ceramic Antenna... 16
Gambar 2.6 Arduino Pro Mini 328 ... 18
Gambar 2.7 Peta Memori Program ... 19
Gambar 2.8 Modul OLED Display SSD1396 I2C ... 22
Gambar 2.9 Blok Diagram Sistem Minimal GPS ... 24
Gambar 3.1 Schematic Diagram Sistem GPS ... 26
Gambar 3.2 Sistem minimal GPS SIM908-C portable ... 28
Gambar 3.3 Flowchart Progam Arduino Pro Mini ... 29
Gambar 4.1 Pengujian Akurasi Posisi ... 33
Gambar 4.2 Pengujian Akurasi Kecepatan ... 35
x
DAFTAR TABEL
Tabel 2.1 Spesifikasi GPS SIM 908-C ... 13
Tabel 2.2 Beberapa Fungsi GPS AT-Command ... 14
Tabel 2.3 Spesifikasi GPS Antenna ... 16
Tabel 2.4 Spesifikasi Arduino Promini 328 ... 18
Tabel 2.5 Spesifikasi OLED Display SSD1396 I2C ... 22
Tabel 4.1 Pengujian Locking ... 40
Tabel 4.2 Pengujian Keakuratan Posisi ... 32
Tabel 4.3 Pengujian Akurasi Kecepatan ... 34