<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title> &#187; GSM</title>
	<atom:link href="http://www.andisun.com/tag/gsm/feed" rel="self" type="application/rss+xml" />
	<link>http://www.andisun.com</link>
	<description></description>
	<lastBuildDate>Mon, 30 Aug 2010 03:28:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Mengetahui Posisi dengan Mengintegrasikan GPS Receiver dan GSM</title>
		<link>http://www.andisun.com/jurnal/mengetahui-posisi-dengan-mengintegrasikan-gps-receiver-dan-gsm</link>
		<comments>http://www.andisun.com/jurnal/mengetahui-posisi-dengan-mengintegrasikan-gps-receiver-dan-gsm#comments</comments>
		<pubDate>Tue, 28 Jul 2009 00:13:28 +0000</pubDate>
		<dc:creator>myandisun</dc:creator>
				<category><![CDATA[Jurnal]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[NMEA]]></category>
		<category><![CDATA[Parsing]]></category>
		<category><![CDATA[Position]]></category>

		<guid isPermaLink="false">http://www.andisun.com/?p=324</guid>
		<description><![CDATA[Abstraksi GPS receiver sebagai alat penentu posisi dikembangkan dalam bentuk modul. Dengan bentuk modul tersebut GPS receiver dapat di integrasikan dengan perangkat lain, seperti komputer, PDA, GSM (telepon selluler). Modul GPS receiver mengeluarkan standaar data yang disebut NMEA. Data NMEA dari GPS receiver untuk dapat langsung digunakan, karena harus diproses terlebih dahulu. Machine Java (J2ME) [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><strong> </strong></p>
<p>Abstraksi</p>
<p align="center"><strong> </strong></p>
<p style="text-align: left;"><em>GPS receiver</em> sebagai alat penentu posisi dikembangkan dalam bentuk modul. Dengan bentuk modul tersebut <em>GPS receiver</em> dapat di integrasikan dengan perangkat lain, seperti komputer, PDA, GSM (telepon selluler). Modul <em>GPS receiver</em> mengeluarkan standaar data yang disebut NMEA. Data NMEA dari <em>GPS receiver</em> untuk dapat langsung digunakan, karena harus diproses terlebih dahulu. Machine Java (J2ME) yang ditanam pada GSM? dapat digunakan sebagai tool bahasa pemrograman untuk membaca data yang dikirim dari <em>GPS receiver</em>. Sebelum ditampilkan data NMEA harus di <em>parsing</em> untuk dapat di tampilkan informasi posisi yang lebih informasif.</p>
<p align="left">Keyword : <em>GPS, J2ME, NMEA, GSM, Position<br />
</em></p>
<h2>A.?????? PENDAHULUAN</h2>
<p>GPS (<em>Global Positioning System)</em> adalah sistem navigasi berbasiskan satelit yang saling berhubungan satu dengan yang lain. Untuk mengetahui posisi, minimalkan diperlukan 3 buah satelit yang masing-masing mengirimkan sinyal ke GPS <em>Receiver</em>. Sinyal tersebut diolah, kemudian posisi diubah menjadi titik yang dikenal dengan nama <em>Way</em><em>-point, </em>yaitu<em> </em>berupa titik-titik koordinat lintang <em>(latitude)</em> dan bujur <em>(Longitude)</em>.</p>
<p>Secara fisik GPS <em>Receiver</em> berupa <em>integrated circuit </em>(IC) dan dapat digunakan untuk berbagai kepentingan, misalnya pada mobil, kapal, pesawat terbang, pertanian dan lain-lain. GPS <em>receiver</em> dapat diintegrasikan dengan komputer, laptop atau perangkat lain. GPS <em>Receiver</em> memiliki output standar yang berisi informasi yang berhubungan dengan data-data geografi. Standar format informasi tersebut diberi nama <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA-0183</a>.</p>
<p>GPS <em>Receiver</em> ada yang dilengkapi dengan display ada juga tanpa display. GPS yang memliki display informasi ditampilkan pada layar displaynya, sedangkan yang tidak memiliki tampilan atau yang lebih dikenal dengan modul GPS <em>Receiver</em>. GPS receiver yang berbentuk modul untuk mengirimkan sintak NMEA-0183 keperangkat lain mengggunakan media komunikasi data baik dengan media kabel atau <em>wireless</em>.</p>
<p>Perangkat modul GPS yang sekarang komunikasi dilengkapi dengan bluetooth. Perangakat yang sering digunakan untuk menampilkan data tersebut adalah Personal Komputer, Laptop, PDA dan telephone seluler.</p>
<h3>A.1???????? NMEA (National Mrearine Electronics Association) 0183 Standard</h3>
<p>Pada mulanya <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA-0183</a> adalah standar industri sebagai antar-muka alat kelautan yang diperkenalkan sejak tahun 1983. <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA-0183</a> adalah hasil konversi dari sinyal elektronik, protokol tranmisi data, waktu dan format perintah lain.</p>
<p><a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA-0183</a> berisi informasi yang berhubungan dengan geografi seperti tentang koordinat, ketinggian, kecepatan dan masih banyak lagi. Untuk menampilkan informasi yang informatif maka data <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA-0183</a> perlu diolah lebih lanjut.</p>
<h3>A.2??????? J2ME</h3>
<p><a href="http://developers.sun.com/mobility/j2me">J2ME </a>adalah bagian dari J2SE yang ditujukan untuk implementasi pada peralatan <em>embendded system</em> yang tidak dapat di tangani oleh J2SE. <em>Embendded system </em>adalah produk-produk dengan komputer kecil berada didalamnya, namun aplikasi yang dimanfaatkan dari peralatan tersebut sangatlah spesifik. Contoh aplikasi <em>embendded system </em>adalah aplikasi yang memanfaatka <em>microprosessor </em>seperti televisi, handphone, PDA, sistem keamanan gedung dan sebagainya.</p>
<p>Sama seperti java pada umumnya yang menggunakan JVM <em>(Java Virtual Machine)</em>, dalam J2ME juga menggunakan <em>virtual machine</em> yang disebut K <em>Virtual Machine (KVM)</em>. K <em>Virtual Machine </em>adalah <em>virtual machine</em> dengan kapasitas memori yang sangat kecil. Huruf K di ambil dari Kilobyte yang mengambarkan betapa kecil total memori yang digunakan mulai dari 128 kilobyte hingga maksimal rata-rata sekitar 512 kilobyte. Java 2 platform, Micro Edition (<a href="http://developers.sun.com/mobility/j2me">J2ME</a>) merupakan kumpulan API <em>(Aplication Programing Interface)</em> yang memfokuskan diri pada konsumen <em>embendded system</em>. <a href="http://developers.sun.com/mobility/j2me">J2ME</a> berisi kumpulan arsitektur, profile, dan paket opsional. Aritektur J2ME dapat dilihat pada Gambar 1.</p>
<div id="attachment_326" class="wp-caption alignnone" style="width: 304px"><img class="size-full wp-image-326" title="java_2_platform" src="http://www.andisun.com/wp-content/uploads/2009/07/java_2_platform.png" alt="Hierarki Platform Java 2" width="294" height="222" /><p class="wp-caption-text">Hierarki Platform Java 2</p></div>
<h3>A.3??????? Modul GPS Receiver</h3>
<p>Untuk penelitian ini peneliti menggunakan modul <em><a href="https://buy.garmin.com/shop/shop.do?cID=158&amp;pID=272">Garmin GPS 10</a> </em>dengan spesifikasi terlihat pada Tabel 1:</p>
<div id="attachment_327" class="wp-caption alignnone" style="width: 161px"><img class="size-full wp-image-327 " title="garmin_gps_10" src="http://www.andisun.com/wp-content/uploads/2009/07/garmin_gps_10x.png" alt="Garmin GPS 10x" width="151" height="151" /><p class="wp-caption-text">Garmin GPS 10</p></div>
<p><span id="more-324"></span></p>
<p>Tabel 1. Spesifikasi Garmin GPS 10</p>
<table style="width: 609px; height: 333px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="21%" valign="top">Receiver Type</td>
<td width="78%" valign="top">12 parallel channel GPS receiver</td>
</tr>
<tr>
<td width="21%" valign="top">GPS Performance</td>
<td width="78%" valign="top">Receiver: WAAS enabled, 12 parallel channel GPS receiver continuously   tracks and uses up to 12 satellites to compute and update your position</td>
</tr>
<tr>
<td width="21%" valign="top">Acquisition Times</td>
<td width="78%" valign="top">
<p align="left">Reacquisition: Less   than 2 seconds</p>
<p align="left">Warm: Approximately   15 seconds</p>
<p align="left">Cold: Approximately   45 seconds</p>
<p align="left">AutoLocate?: 5   minutes</p>
<p align="left">SkySearch: 5   minutes</p>
</td>
</tr>
<tr>
<td width="21%" valign="top">Update Rate</td>
<td width="78%" valign="top">1 to 900 seconds between updates; programmable in 1 second increments</td>
</tr>
<tr>
<td width="21%" valign="top">GPS Accuracy:</td>
<td width="78%" valign="top">
<p align="left">Position: &lt; 15   meters, 95% typical</p>
<p align="left">Velocity: 0.1 knot   RMS steady state</p>
</td>
</tr>
<tr>
<td width="21%" valign="top">Connectivity</td>
<td width="78%" valign="top">Bluetooth wireless technology; Protocol: NMEA 0183, sentences   GGA/GSA/GSV/GLL/RMC/VTG</td>
</tr>
<tr>
<td width="21%" valign="top">Dimension</td>
<td width="78%" valign="top">88 x 45 x 19 mm</td>
</tr>
<tr>
<td width="21%" valign="top">Weight</td>
<td width="78%" valign="top">80 g</td>
</tr>
</tbody>
</table>
<p>Selain menggunakan GPS 10, untuk saat ini direkomendasikan menggunakan <a href="https://buy.garmin.com/shop/shop.do?cID=138&amp;pID=6302&amp;ra=true">Garmin GPS 10x</a>.</p>
<h3>A.4??????? Hanphone Nokia 6120</h3>
<p>Perangkat ini yang digunakan untuk mengambil data dari perangkat <em>GPS receiver </em>serta untuk menampilkan hasil pengolahan informasi di dalam layarnya. Hanphone yang penulis gunakan adalah Nokia 6120 Classic dengan MIDP 2.0. Dengan spesifikasi tersebut digunakan untuk menjalankan aplikasi J2ME. Selain itu hanphone Nokia 6120 Classic juga sudah men-<em>support</em> koneksi dengan handware lain <em>via</em> bluetooth.</p>
<div id="attachment_328" class="wp-caption alignnone" style="width: 150px"><img class="size-full wp-image-328" title="nokia_6120_classic" src="http://www.andisun.com/wp-content/uploads/2009/07/nokia_6120_classic.png" alt="Nokia 6120 Classic" width="140" height="185" /><p class="wp-caption-text">Nokia 6120 Classic</p></div>
<p>Adapun spesifikasi detail handphone yang dipakai dapat <a href="http://www.nokia.co.id/cari-produk/ponsel/nokia-6120-classic">diklik disini</a>.</p>
<h2>B.?????? PEMBAHASAN</h2>
<p>Pada penelitian metode ini menggunakan <em>GPS receiver</em>, dan handphone. Penelitian kedua ini difokuskan bagaimana mengambil data NMEA dari perangkat <em>GPS receiver</em> untuk ditampilkan di handphone. Data yang diambil pada penelitian ke dua ini adalah data NMEA yang standar yang dapat digunakan untuk mengetahui data <em>Latitude</em> dan <em>Longitude</em>.</p>
<div id="attachment_336" class="wp-caption alignnone" style="width: 322px"><img class="size-full wp-image-336" title="prinsip_kerja_penelitian_gsm_j2me_01" src="http://www.andisun.com/wp-content/uploads/2009/07/prinsip_kerja_penelitian_gsm_j2me_01.png" alt="Prinsip Kerja Penelitian" width="312" height="220" /><p class="wp-caption-text">Prinsip Kerja Penelitian</p></div>
<h3>B.1???????? Pembuatan Program.</h3>
<p>Untuk membuat aplikasi J2ME dalam <em>handphone</em> penulis melakukan beberapa pengolahan terhadap format data <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">GPRMC </a>yang dikirimkan dari <em>GPS receiver</em>.</p>
<h3>B.1.1???????? Pembuatan Koneksi.</h3>
<p>Langkah pertama untuk koneksi lewat bluetooth ke <em>GPS receiver,</em> kita perlu mengetahui terlebih dahulu <em>Address Device GPS receiver</em>. Untuk perangkat yang penulis pakai memilki alamat <span style="font-family: courier new,courier;">00054f002823</span>. Adapun bentuk untuk umum koneksi adalah (btspp:alamat device dan port), kemudian membuat <span style="font-family: courier new,courier;">InputStreamReader</span> menggunakan koneksi yang sebelumnya dibuka.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p324code6'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p3246"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p324code6"><pre class="java" style="font-family:monospace;"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> url <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;btspp://00054f002823:1&quot;</span><span style="color: #339933;">;</span>
javax.<span style="color: #006633;">microedition</span>.<span style="color: #006633;">io</span>.<span style="color: #006633;">StreamConnection</span> connection <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>StreamConnection<span style="color: #009900;">&#41;</span> Connector.<span style="color: #006633;">open</span><span style="color: #009900;">&#40;</span>url, Connector.<span style="color: #006633;">READ</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
java.<span style="color: #006633;">io</span>.<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainputstreamreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStreamReader</span></a> in <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainputstreamreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStreamReader</span></a><span style="color: #009900;">&#40;</span>connection.<span style="color: #006633;">openInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>B.1.2??????? Membaca Data</h3>
<p>Pada sesi ini data dikirim dari <em>GPS receiver</em> dengan berurutan dan selalu ditambahkan dalam urutan string sampai ditemukan karakter (ASCII kode 13) yang menandakan akhir sebuah baris. Untuk proses lebih lanjut karakter terakhir diakhiri dengan karakter (<em>line feet</em>, ASCII kode 10).</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p324code7'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p3247"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p324code7"><pre class="java" style="font-family:monospace;">in <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainputstreamreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStreamReader</span></a><span style="color: #009900;">&#40;</span>con.<span style="color: #006633;">openDataInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>ch <span style="color: #339933;">=</span> in.<span style="color: #006633;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
txtNMEA <span style="color: #339933;">+=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span><span style="color: #009900;">&#41;</span> ch<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
txtNMEA <span style="color: #339933;">=</span> txtNMEA.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, txtNMEA.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> output<span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">int</span> in<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>in <span style="color: #339933;">=</span> reader.<span style="color: #006633;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">13</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
txtNMEA <span style="color: #339933;">+=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span><span style="color: #009900;">&#41;</span> in<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
txtNMEA <span style="color: #339933;">=</span> txtNMEA.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>, txtNMEA.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p align="left">
<h3>B.1.3??????? Memproses Data</h3>
<p>Masing-masing baris merupakan sebuah record yang berbeda-beda dalam protocol <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA-0183</a>. Untuk mengambil <em>data value</em> pada masing-masing record melalui beberapa tahapan.</p>
<h4>B.1.3.1??????? Proses Parser</h4>
<p>Parser berfungi untuk memisahkan record menjadi <em>data-value</em> dengan mengidentifikasi pemisah karakter (?,?). Jadi dengan menggunakan method next (akan mengembalikan nilai String) dan method hasNext (yang mengembalikan nilai true jika masih ada data yang akan diparsing). Dengan menggunakan <em>method</em> String standar indexOf atau substring, maka data dapat diambil.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p324code8'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p3248"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code" id="p324code8"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aparser+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Parser</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
currentPositon <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
nextPosition <span style="color: #339933;">=</span> txtNMEA.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span>DELIMITER, currentPositon<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
TYPE_NMEA <span style="color: #339933;">=</span> next<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
UTCPosition<span style="color: #339933;">?</span> <span style="color: #339933;">=</span> next<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
State <span style="color: #339933;">=</span> next<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Latitude <span style="color: #339933;">=</span> next<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
LatitudeIndicator <span style="color: #339933;">=</span> next<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
. . . .
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">boolean</span> hasNext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">return</span> nextPosition <span style="color: #339933;">!=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> currentPositon <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;=</span> nextPosition<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> next<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anosuchelementexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">NoSuchElementException</span></a><span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>hasNext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anosuchelementexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">NoSuchElementException</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> next <span style="color: #339933;">=</span> txtNMEA.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span>currentPositon, nextPosition<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
currentPositon <span style="color: #339933;">=</span> nextPosition <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
nextPosition <span style="color: #339933;">=</span> txtNMEA.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span>DELIMITER, currentPositon<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">return</span> next<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h4>B.1.3.2?????? Konversi Data</h4>
<p>Data yang dikirim dari <em>GPS receiver </em>tidak selamanya langsung ditampilkan, ada beberapa yang harus di konversi. Dalam khasus ini data kecepatan masih dalam bentuk <em>knot</em> (1 knot = 1.50779 mile/hour), data tersebut penulis konversi kedalam bentuk <em>km/hour</em> (Kilometer per jam)..</p>
<p>J2ME tidak mengenal tipe data <em>floating point</em> sehingga harus ditambahkan class baru yang dapat mengkonversi dari bentuk string (input dari <em>GPS receiver</em> ke bentuk <em>floating point</em>).</p>
<p style="text-align: left;"><strong>1 knot = 1.85 kilometer/hour</strong></p>
<pre>int SpeedX = MathFP.mul(MathFP.toFP(SpeedOverGround),MathFP.toFP("1.85"));
SpeedOverGround =? MathFP.toString( MathFP.round(SpeedX, 2)) + " km/h";</pre>
<h4>B.1.3.3?????? Membuat Method Untuk Mengambil <em>Data-Value</em></h4>
<p>Masing-masing data yang sudah diolah dan siap ditampilkan akan dibuatkan method agar nantinya memudahkan untuk menampilkannya di program utama. Berikut contoh programnya.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p324code9'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p3249"><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code" id="p324code9"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> getLatitude<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">return</span> Latitude<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> getLatitudeIndicator<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">return</span> LatitudeIndicator<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h4>B.1.3.4?????? Menampilkan data</h4>
<p>Komponen-komponen yang sudah dipersiapkan untuk ditampilkan akan ditampilkan pada program utama dengan memanggil method yang telah kita buat sebelumnya.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p324code10'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p32410"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code" id="p324code10"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//Tampilkan Latitude</span>
cY <span style="color: #339933;">=</span> cY <span style="color: #339933;">+</span> intvBaris<span style="color: #339933;">;</span>
g.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
g.<span style="color: #006633;">setFont</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a>.<span style="color: #006633;">getFont</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a>.<span style="color: #006633;">FACE_MONOSPACE</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a>.<span style="color: #006633;">STYLE_PLAIN</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a>.<span style="color: #006633;">SIZE_MEDIUM</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
g.<span style="color: #006633;">drawString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Latitude&quot;</span>, cXLabel, cY, g.<span style="color: #006633;">TOP</span><span style="color: #339933;">|</span>g.<span style="color: #006633;">LEFT</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
g.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
g.<span style="color: #006633;">setFont</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a>.<span style="color: #006633;">getFont</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a>.<span style="color: #006633;">FACE_MONOSPACE</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a>.<span style="color: #006633;">STYLE_PLAIN</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a>.<span style="color: #006633;">SIZE_MEDIUM</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
g.<span style="color: #006633;">drawString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;: &quot;</span> <span style="color: #339933;">+</span> gps.<span style="color: #006633;">getLatitude</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; &quot;</span> <span style="color: #339933;">+</span> gps.<span style="color: #006633;">getLatitudeIndicator</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, cXData, cY, g.<span style="color: #006633;">TOP</span><span style="color: #339933;">|</span>g.<span style="color: #006633;">LEFT</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></td></tr></table></div>

<p align="left">Tampilan pada layar <em>hanphone</em> dapat dilihat pada gambar dibawah ini:</p>
<p align="left">
<div id="attachment_330" class="wp-caption alignnone" style="width: 177px"><img class="size-full wp-image-330" title="hasil_gsm_gps" src="http://www.andisun.com/wp-content/uploads/2009/07/hasil_gsm_gps.png" alt="Tampilan hasil Penelitian" width="167" height="192" /><p class="wp-caption-text">Tampilan hasil Penelitian</p></div>
<h2>C.?????? KESIMPULAN</h2>
<p align="left">Setelah dilakukan penelitian, maka dapat diambil kesimplan:</p>
<ol>
<li>Hanphone dapat digunakan untuk membaca data <a href="http://www.andisun.com/artikel/national-marine-electronics-association-nmea-0183-tipe-rmc">NMEA </a>dari modul <em>GPS receiver</em> yang dikirim via bluetooth dengan? bahasa pemrograman <a href="http://developers.sun.com/mobility/j2me">J2ME</a>.</li>
<li>Pasring dalam <a href="http://developers.sun.com/mobility/j2me">J2ME </a>dapat dilakukan menggunakan fungsi indexOf dan substring</li>
<li>Lokasi koordinat dapat ditampilkan dilayar handphone menggunakan class Canvas</li>
<li>Posisi longitude dan latitude yang diambil dari modul <em>GPS riceiver</em> di hanphone valid karena sama dengan yang diambil dengan laptop.</li>
</ol>
<h2>REFERENSI</h2>
<ol>
<li>Abidin, Z, Hasanuddin; Jones, Andrew; Kahar Joenil; <em>Survei Dengan GPS</em>; PT. Pradnya Paramita; Jakarta, 2002.</li>
<li>Andy Mitchell; <em>Analysis Volume:1 Geographical Pattern &amp; Relationship</em>; ESRI Press; Redlands, California.</li>
<li>Davis, E, David; <em>GSI for Everyone Second Edition</em>; ESRI Press, Redlands,  California; Desember 2001.</li>
<li>Dreamtech Software Team; <em>Wireless Programming with J2ME?</em>; New York; USA; 2002</li>
<li>Feng, Yu and Zhu Jun; <em>Wireless Java Programming with 2 Micro Edition</em>; SAMS; Indianapolis; USA; 2001</li>
<li>Garmin Ltd; <em>About GPS</em>; http://www.garmin.com/aboutGPS/; Garmin Ltd; Januari 2006</li>
<li>Garmin Ltd; <em>Mobile</em><em> Electronic GPS 10</em>; http://www.garmin.com/products/gps10/; Garmin Ltd; Januari 2006</li>
<li>GSMArena.com; <em>Nokia 7610 Detail Spesification</em>; http://www.gsmarena.com/nokia_7610-703.php;</li>
<li>Januari 2006</li>
<li>Hartanto, Aditya, Antonius; <em>Tip dan Trik Java 2 Microedition Mobile Interface Device Programing</em>; Elek Media Komputindo; Jakarta; 2003.</li>
<li>Kimmo L?yt?n?; <em>Enabling Location-Based Applications with J2ME?;</em> ForumNokia.com</li>
<li>Keogh, James; <em>J2ME:The Complete Reference</em>; McGraw-Hill; New York;</li>
<li>Riggs, Roger; Taivalsaari, Antero; Peursem, Van, Jim; Huopaniemi, Jyri; Patel, Mark;? Uotila,? Aleksi; Editor, ?Holliday, Jim; <em>Programming Wireless Devices with the Java? 2 Platform, Micro Edition, Second Edition</em>; Addison Wesley; Juni 2003.</li>
<li>Sun Developer Network;<em>Java 2 Platform, Micro Edition (J2ME); JSR 68 Overview</em>; http://java.sun.com/j2me/overview.html; Sun Microsystems, Inc; Januari 2006</li>
<li>Sunyoto, Andi., 2007, ?Thesis: Integrasi Modul GPS Receiver dan GPRS untuk Penentuan Posisi dan Jalur Pergerakan Obyek Bergerak (Studi Kasus : Penentuan Posisi Taksi di Yogyakarta)?, S2 Jurusan Ilmu Komputer, UGM, 2007.</li>
<li>Schmidt, Albrecht; Holleis, Paul; Kranz, Matthias; Rukzio, Enrico; <em>Accessing GPS receiver from mobile phone via bluetooth</em>; http://www.hcilab.org/documents/tutorials/BT_GPS/BT_GPS.htm; Ludwig-Maximilians-University Munich; Desember 2005.</li>
<li>Schmidt, Albrecht; Holleis, Paul; Kranz, Matthias; Rukzio, Enrico; <em>Simple J2ME NMEA parser</em>; http://www.hcilab.org/documents/tutorials/NMEA_Parser/NMEA_Parser.htm; Ludwig-Maximilians-University Munich; Desember 2005.</li>
<li>Sun Microsystems, Inc; <em>User?s Guide Wireless Toolkit, Version 2.0 Java? 2 Platform</em>, Micro Edition; Santa Clara; U.S.A Maret 2000.</li>
<li>Tremblett, Paul; <em>Instant Wireless JavaTM with J2METM</em>; MCGraw-Hill; New   York; 2002</li>
<li>Topley, Kim; <em>J2ME In A Nutshell</em>; O?Reilly; O&#8217;Reilly; Edisi Maret 2002.</li>
<li>Yuan, Juntao, Michael; Enterprise J2ME: <em>Developing Mobile Java Applications</em>; Prentice Hall PTR; New York; Oktober 2003</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.andisun.com/jurnal/mengetahui-posisi-dengan-mengintegrasikan-gps-receiver-dan-gsm/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
