• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI DAN PENGUJIAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV IMPLEMENTASI DAN PENGUJIAN"

Copied!
17
0
0

Teks penuh

(1)

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1 IMPLEMENTASI

Tahap berikutnya setelah melakukan analisis dan perancangan

terhadap aplikasi TouringApps adalah implementasi dan pengujian. Berikut

ini akan dijelaskan implementasi dari aplikasi TouringApps pada Telephone

Genggam dengan menggunakan Integrated Development environment (IDE)

Eclipse, dan Android SDK yang terdiri dari pengkodean, lingkungan

implementasi, dan antarmuka dari aplikasi TouringApps, serta hal-hal yang

berhubungan dengan pengujian aplikasi.

4.2 Kebutuhan Minimum Perangkat Keras/Perangkat Lunak untuk

Aplikasi Eclipse

4.2.1 Kebutuhan Minimum Perangkat Keras

Telephone Genggam android yang menggunakan sudah menggunakan

sistem operasi Android 2.2 Froyo. Karena pada saat perancangan aplikasi

sudah ditentukan bahwa aplikasi nya dirancang untuk sistem operasi android

froyo.

Pengujian aplikasi touringapps dilakukan pada dua buah ponsel dengan

spesifikasi yang berbeda, yaitu :

1.Telephone Genggam Samsung Galaxy Fit GT-S5670, prosesor 600

MHz, Memori: 160 MB internal.

2.Koneksi Internet

3.LAN networking (Wifi atau kabel)

(2)

Untuk PC/Laptop, minimum memori RAM yang digunakan adalah

1GB, apabila menggunakan memori yang rendah, maka proses kompilasi

source code aplikasi akan memakan waktu yang cukup lama.

4.2.2

Kebutuhan Minimum Perangkat Lunak

Untuk sampai pada tahap simulasi, perangkat lunak minimum yang

dibutuhkan adalah :

i. Sistem Operasi Windows XP-SP2 Professional Edition

ii. Eclipse Galileo

iii. Jdk-6u2-windows-i586-p

iv. Android-sdk_r06-windows

v. Browser

Untuk sampai pada tahap implementasi, perangkat lunak minimum

yang dibutuhkan adalah :

i. Sistem Operasi Windows XP-SP2 Professional Edition

ii. Eclipse Galileo

iii. Jdk-6u2-windows-i586-p

iv. Android-sdk_r06-windows

v. Browser

4.3 Pengkodean

TouringApps

Pada bab ini akan dijelaskan potongan-potongan dari kode sumber

(source code) aplikasi TouringApps. Tahap awal sebelum memulai membuat

kode untuk aplikasi ini adalah dengan membuat android project baru pada

eclipse yang diberi nama TouringApps

(3)

Gambar 4.1 Projek baru android

Keterangan gambar 4.1

Ini adalah tampilan form yang muncul pada eclipse ketika pertama kali

membuat projek android.

Langkah pertama adalah membuat tombol yang apabila di klik akan

mendapatkan lokasi.koordinat saat ini dari location provider. Berikut ini

adalah file main.xml dari tampilan awal aplikasi:

1. <?xml version="1.0" encoding="utf-8"?> 2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3. android:orientation="vertical" 4. android:layout_width="fill_parent" 5. android:layout_height="fill_parent" 6. >

(4)

7. //Menampilkan textbox untuk memasukan nama 8. <EditText android:id ="@+id/edittextName" 9. android:text="Input Name"

10. android:layout_width="wrap_content" 11. android:layout_height="wrap_content" 12. />

13. //Menampilkan tombol untuk mendapatkan lokasi koordinat saat ini 14. <Button 15. android:id="@+id/retrieve_location_button" 16. android:text="Retrieve Location" 17. android:layout_width="wrap_content" 18. android:layout_height="wrap_content" 19. /> 20. </LinearLayout>

Berikut ini adalah penampilannya ketika dijalankan pada emulator:

Gambar 4.2 Emulator Aplikasi TouringApps

Keterangan gambar 4.2

Ini adalah tampilan emulator dari aplikasi TouringApps yang sudah selesai.

Agar memiliki kemampuan untuk mendapatkan lokasi dari android API,

maka langkah pertama adalah mengambil referensi dari LocationManager

class, yang menyediakan akses kepada system lokasi services. Hal ini bisa di

lakukan menggunakan getSystemService di activity. Berikut dibawah ini

kode nya:

(5)

1. locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 2. locationManager.requestLocationUpdates( 3. LocationManager.GPS_PROVIDER, 4. MINIMUM_TIME_BETWEEN_UPDATES, 5. MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, 6. new MyLocationListener() 7. ); 8. retrieveLocationButton.setOnClickListener(new OnClickListener() { 9. @Override

10. public void onClick(View v) { 11. showCurrentLocation(); 12. }

13. }); 14. }

15. protected void showCurrentLocation() { 16. try {

17. Location location =

locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 18. if (location != null) {

19. String message = String.format(

20. "Current Location \n Longitude: %1$s \n Latitude: %2$s", 21. location.getLongitude(), location.getLatitude()

22. );

Kemudian, untuk mendapatkan update lokasi digunakan method

requstLocation Updates. Dalam method ini disediakan nama yang di inginkan

location provider (GPS), waktu minimum untuk interval notifikasi, dan jarak

minimum notifikasi dan yang terakhir adalah sebuah kelas yang meng

implementasi antar muka LocationListener. Antar muka ini mendeklarasi

methode untuk menjalankan perubahan lokasi dan juga perubahan status.

Berikut dibawah ini kode nya:

1. public class LbsGeocodingActivity extends Activity {

2. private static final long MINIMUM_DISTANCE_CHANGE_FOR_UPDATES = 1; // in Meters

3. private static final long MINIMUM_TIME_BETWEEN_UPDATES = 1000; // in Milliseconds

(6)

4. protected LocationManager locationManager; 5. protected Button retrieveLocationButton; 6. EditText name ;

7. @Override

8. public void onCreate(Bundle savedInstanceState) { 9. super.onCreate(savedInstanceState);

10. setContentView(R.layout.main);

11. name = (EditText)findViewById(R.id.edittextName);

12. retrieveLocationButton = (Button) findViewById(R.id.retrieve_location_button);

13. HttpClient httpclient = new DefaultHttpClient(); 14. HttpGet httpget = new

HttpGet("http://rafie166.tk/touringapps/isi_lokasi.php?latitude="+location.ge tLatitude()

15. +"&longitude="+location.getLongitude()+"&user="+name.getText()+""); 16. HttpResponse response = httpclient.execute(httpget);

17. HttpEntity entity = response.getEntity(); 18. byte buffer[] = new byte[1024] ; 19. InputStream is = entity.getContent() ; 20. int numBytes = is.read(buffer) ; 21. is.close();

22. //String entityContents = new String(buffer,0,numBytes) ; 23. Log.d("TouringApps","here"); 24. Toast.makeText(LbsGeocodingActivity.this, message, 25. Toast.LENGTH_LONG).show(); 26. } 27. } 28. catch (IOException e) {

29. Toast.makeText(LbsGeocodingActivity.this, "gagal get GPS Loc", 30. Toast.LENGTH_LONG).show();

31. } 32. }

33. private class MyLocationListener implements LocationListener { 34. public void onLocationChanged(Location location) {

35. /*

36. String message = String.format(

37. "New Location \n Longitude: %1$s \n Latitude: %2$s", 38. location.getLongitude(), location.getLatitude() 39. ); 40. Toast.makeText(LbsGeocodingActivity.this, message, Toast.LENGTH_LONG).show(); 41. */ 42. }

43. public void onStatusChanged(String s, int i, Bundle b) { 44. /*

45. Toast.makeText(LbsGeocodingActivity.this, "Provider status changed", 46. Toast.LENGTH_LONG).show();

(7)

47. */ 48. }

49. public void onProviderDisabled(String s) { 50. Toast.makeText(LbsGeocodingActivity.this, 51. "Provider disabled by the user. GPS turned off", 52. Toast.LENGTH_LONG).show();

53. }

54. public void onProviderEnabled(String s) { 55. Toast.makeText(LbsGeocodingActivity.this, 56. "Provider enabled by the user. GPS turned on", 57. Toast.LENGTH_LONG).show();

58. } 59. } 60. }

(8)

Selanjutnya adalah menggunakan AVD manager untuk membuat aplikasi

Android baru dan pastikan fitur GPS support sudah termasuk.

Gambar 4.3 AVD Android

Keterangan gambar 4.3

Ini adalah form untuk membuat android virtual device. Pada form ini

ditentukan targetnya adalah android 2.1 dengan API level 7. Size SD card nya

128 Mib dengan memakai skin default (WVGA800). Kemudian yang paling

penting adalah pada property hardware harus memakai GPS support.

(9)

Gambar 4.4 Emulator Aplikasi TouringApps

Keterangan gambar 4.4

Gambar 4.4 adalah emulator dari hasil setingan yang dilakukan pada android

virtual device.

4.4 Pengkodean ShowMap

Berikut ini adalah file main.xml dari tampilan awal aplikasi:

1. <?xml version="1.0" encoding="utf-8"?> 2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3. android:orientation="vertical" 4. android:layout_width="fill_parent" 5. android:layout_height="fill_parent" 6. >

Berikut ini kode untuk menampilkan map yang ada pada webserver:

1. package com.rafie.showmap; 2. import android.app.Activity; 3. import android.content.Intent; 4. import android.net.Uri; 5. import android.os.Bundle;

6. public class actShowMap extends Activity { 7. /** Called when the activity is first created. */ 8. @Override

9. public void onCreate(Bundle savedInstanceState) { 10. super.onCreate(savedInstanceState);

(10)

12. String url = "http://rafie166.tk/touringapps/phpsqlajax_map.htm"; 13. Intent i = new Intent(Intent.ACTION_VIEW);

14. i.setData(Uri.parse(url)); 15. startActivity(i); 16. }

17. }

Berikut ini coding manifest untuk ShowMap:

1. package com.rafie.showmap; 2. import android.app.Activity; 3. import android.content.Intent; 4. import android.net.Uri; 5. import android.os.Bundle;

6. public class actShowMap extends Activity { 7. /** Called when the activity is first created. */ 8. @Override

9. public void onCreate(Bundle savedInstanceState) { 10. super.onCreate(savedInstanceState);

11. setContentView(R.layout.main);

12. String url = "http://rafie166.tk/touringapps/phpsqlajax_map.htm"; 13. Intent i = new Intent(Intent.ACTION_VIEW);

14. i.setData(Uri.parse(url)); 15. startActivity(i); 16. }

17. }

18. Coding pada Webserver

18.1.1 Di webserver ada beberapa program menggunakan php:

19. Untuk mendapatkan lokasi dari android maka program yang digunakan adalah: 20. Isi_lokasi 21. <?php 22. include "koneksi.php"; 23. $latitude=$_GET["latitude"]; 24. $longitude=$_GET["longitude"]; 25. $name=$_GET["user"]; 26. echo 'test';

27. $delFirst="delete from marker where name='$name'"; 28. mysql_query($delFirst);

29. $perintah="INSERT INTO marker(latitude,longitude,name) VALUES ('$latitude','$longitude','$name')";

30. mysql_query($perintah);

Berikut ini program php untuk mengambil data dari basisdata

1. phpsqlajax_genxml3.php 2. <?php

3. require("phpsqlajax_dbinfo.php"); 4. // Start XML file, create parent node

(11)

5. $dom = new DOMDocument("1.0"); 6. $node = $dom->createElement("markers"); 7. $parnode = $dom->appendChild($node); 8. // Opens a connection to a MySQL server

9. $connection=mysql_connect (localhost, $username, $password); 10. if (!$connection) { die('Not connected : ' . mysql_error());} 11. // Set the active MySQL database

12. $db_selected = mysql_select_db($database, $connection); 13. if (!$db_selected) {

14. die ('Can\'t use db : ' . mysql_error()); 15. }

16. // Select all the rows in the markers table

17. $query = "SELECT * FROM marker WHERE 1"; 18. $result = mysql_query($query);

19. if (!$result) {

20. die('Invalid query: ' . mysql_error()); 21. }

22. header("Content-type: text/xml");

23. // Iterate through the rows, adding XML nodes for each 24. while ($row = @mysql_fetch_assoc($result)){ 25. // ADD TO XML DOCUMENT NODE 26. $node = $dom->createElement("marker"); 27. $newnode = $parnode->appendChild($node); 28. $newnode->setAttribute("name",$row['name']); 29. $newnode->setAttribute("lat", $row['latitude']); 30. $newnode->setAttribute("lng", $row['longitude']); 31. } 32. echo $dom->saveXML(); 33. ?>

Berikut ini program html untuk menampilkan map:

1. phpsqlajax_map.html

2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

3. <html xmlns="http://www.w3.org/1999/xhtml"> 4. <head>

5. <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 6. <title>Google Maps AJAX + mySQL/PHP Example</title>

7. <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAk9C3-K_GcH0btH8YNeVQABSbyuwkpEUAa4bcYeWRz4Rj7rERDBR0dP3Unj3 ZoN0VEJhP5zuoV2cUig" 8. type="text/javascript"></script> 9. <script type="text/javascript"> 10. //<![CDATA[

(12)

12. iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';

13. iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';

14. iconBlue.iconSize = new GSize(12, 20); 15. iconBlue.shadowSize = new GSize(22, 20); 16. iconBlue.iconAnchor = new GPoint(6, 20); 17. iconBlue.infoWindowAnchor = new GPoint(5, 1); 18. var iconRed = new GIcon();

19. iconRed.image = 'http://labs.google.com/ridefinder/images/mm_20_red.png';

20. iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';

21. iconRed.iconSize = new GSize(12, 20); 22. iconRed.shadowSize = new GSize(22, 20); 23. iconRed.iconAnchor = new GPoint(6, 20); 24. iconRed.infoWindowAnchor = new GPoint(5, 1); 25. var customIcons = [];

26. customIcons["restaurant"] = iconBlue; 27. customIcons["bar"] = iconRed; 28. function load() {

29. if (GBrowserIsCompatible()) {

30. var map = new GMap2(document.getElementById("map")); 31. map.addControl(new GSmallMapControl());

32. map.addControl(new GMapTypeControl());

33. map.setCenter(new GLatLng(-6.180833,106.848106), 11 ); 34. // Change this depending on the name of your PHP file 35. GDownloadUrl("phpsqlajax_genxml3.php", function(data) { 36. var xml = GXml.parse(data);

37. var markers = xml.documentElement.getElementsByTagName("marker"); 38. for (var i = 0; i < markers.length; i++) {

39. var name = markers[i].getAttribute("name"); 40. var address = markers[i].getAttribute("address"); 41. var type = markers[i].getAttribute("type");

42. var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), 42.1.1 parseFloat(markers[i].getAttribute("lng")));

43. var marker = createMarker(point, name, address, type); 44. map.addOverlay(marker);

45. } 46. }); 47. } 48. }

49. function createMarker(point, name, address, type) { 50. var marker = new GMarker(point, customIcons[type]); 51. var html = "<b>" + name + "</b> <br/>" + address; 52. GEvent.addListener(marker, 'click', function() { 53. marker.openInfoWindowHtml(html); 54. }); 55. return marker; 56. } 57. //]]> 58. </script> 59. </head>

(13)

61. <div id="map" style="width: 500px; height: 300px"></div> 62. </body>

63. </html>

Gambar 4.5 Emulator ShowMap

Keterangan gambar 4.5

Ini adalah gambar emulator dari ShowMap untuk melihat koordinat. Pada

gambar ini terlihat dua koordinat pengguna.

4.5 Implementasi Perangkat Lunak

Untuk memenuhi tujuan pada tugas akhir ini, alat yang digunakan dari

tahap membuat program sampai dengan kompilasi adalah Integrated

Development environment (IDE) Eclipse. Install Java Development Kit

(JDK), Install SDK Android Manager.

(14)

Untuk implementasi aplikasi pada Telephone Genggam Android,

hubungkan PC/Laptop dengan Telephone Genggam Android menggunakan

LAN Wifi. Buka browser pada Telephone Genggam Android, lalu masukan

IP laptop dan arahkan ke folder tempat aplikasi yang sudah siap untuk di

unduh.

4.7 Implementasi Aplikasi TouringApps kedalam Ponsel

4.7.1 Meng-export projek aplikasi TouringApps

Setelah projek TouringApps pada Eclipse siap untuk di implementasi

maka projek tersebut bisa di export ke sebuah folder.

Gambar 4.6 Export Aplikasi TouringApps

Keterangan gambar 4.6

Ini adalah gambar form pada saat melakukan export program TouringApps.

Pada gambar ini terlihat folder android yang dipilih, menandakan program

tersebut adalah program android.

Lalu klik link aplikasi tersebut, secara otomatis aplikasi tersebut akan

di download oleh Telephone Genggam Android. Langkah berikutnya adalah

melakukan implementasi.

(15)

4.8 Pengujian

Pengujian sistem dilakukan untuk memastikan fungsi-fungsi sistem

berjalan dengan baik sebagaimana mestinya. Pengujian aplikasi TouringApps

dilakukan dengan menggunakan dua Telephone Genggam android agar

memastikan bahwa terlihat lebih dari satu koordinat (multikoordinat)

Tabel 4.1 Skenario Pengujian

Skenario

Pengujian

Hasil Yang

Diharapkan

Memulai

aplikasi

Pengguna memulai

Aplikasi

TouringApps

Muncul tampilan

textbox tombol Sharing

Location.

Text box

Pengguna

memasukan nama

Pengguna dapat

memasukan nama pada

text box

Tombol

sharing

location

Pengguna menekan

tombol.

Nama dan lokasi

pengguna terkirim ke

basis data

Aplikasi

showmap

Pengguna membuka

aplikasi showmap

Koordinat terlihat pada

map. Jika ada lebih dari

satu pengguna maka

terlihat multikoordinat.

Keterangan tabel 4.1

Pengujian dilakukan dengan cara menjalankan aplikasi TouringApps

bersamaan pada kedua Telephone Genggam android, Setiap aksi yang

dilakukan oleh pengguna, diharapkan hasil yang diperoleh sesuai dengan

program yang telah dibuat. Selanjutnya pengujian dilakukan ketika aplikasi

sedang berlangsung.

(16)

4.8.1 Analisis Hasil Pengujian

Tabel 4.2 Hasil Pengujian

Skenario

Hasil Pengujian

Status

Akhir

Ponsel

B

Memulai

aplikasi

Touringapps

Dapat menampilkan

textbox dan tombol

sharing location.

sukses

Text box

Pengguna

dapat

memasukan nama

pada text box

sukses

Tombol sharing

location

Nama dan lokasi

pengguna terkirim ke

basis data.

Sukses

Aplikasi

showmap

Koordinat terlihat

pada map. Jika ada

lebih dari satu

pengguna maka

terlihat

multikoordinat

Sukses

Keterangan tabel 4.2

Berdasarkan hasil pengujian secara menyeluruh terhadap aplikasi kamus

TouringApps, maka didapatkan kesimpulan sebagai berikut :

1. Hasil pengujian berdasarkan pada analisis perancangan sistem telah

berjalan sebagaimana mestinya sesuai dengan yang diharapkan. Hal tersebut

terbukti dengan dapat berjalannya seluruh proses analisis perancangan dan

implementasi.

2. Map yang ditampilkan hanya sebatas Kota Jakarta saja sehingga jika ada

pengguna lain diluar Kota Jakarta tidak akan terlihat pada map.

(17)

3. Jika para pengguna berada pada lokasi yang sama hanya akan terlihat satu

koordinat saja.

Gambar

Gambar 4.2  Emulator Aplikasi TouringApps  Keterangan gambar 4.2
Gambar 4.3  AVD Android
Gambar 4.4  Emulator Aplikasi TouringApps  Keterangan gambar 4.4
Gambar 4.5  Emulator ShowMap  Keterangan gambar 4.5
+4

Referensi

Dokumen terkait

Selain menambah frekuensi penerbangan untuk rute yang sudah ada, Garuda Indonesia juga berencana membuka rute baru yaitu Semarang- Bandung dan Semarang-Balikpapan yang akan

Parameter- parameter tersebut digunakan untuk mengukur peningkatan proporsi kerugian kumulatif pada setiap tahun penundaan dan perkiraan kerugian utama yang harus

Bahkan melakukan promosi dengan melakukan presentasi sales yaitu secara lisan dan bertatap muka, ketika ada kunjungan perusahaan dalam hal ini narasumber menjelaskan

Hasil pengujian keausan pada jenis bahan dan proses perlakuan seperti ditampilkan pada Gambar 4.14, 4.15, 4.16 dan 4.17 menunjukkan bahwa setaleh proses tempa terjadi

Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas segala rahmat, hidayah serta inayah-nya sehingga penulis dapat menyelesaikan Karya Tulis Ilmiah dengan

Sinyal clock merupakan baud rate dari komunikasi data yang dibangkitkan oleh masing-masing baik penerima maupun pengirim data dengan frekwensi yang sama, jika nilai

Hasil dari penelitian ini menunjukkan tanggapan yang positif terhadap pembelajaran volume bangun ruang dengan menggunakan program GeoGebra dengan rata-rata respon yang