RANCANG BANGUN APLIKASI PENGUKUR TINGGI GEDUNG DENGAN METODE PERBANDINGAN TRIGONOMETRI BERBASIS ANDROID
NASKAH PUBLIKASI
diajukan oleh Afif Nuril Huda 10.11.4282
kepada
JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2014
RANCANG BANGUN APLIKASI PENGUKUR TINGGI GEDUNG DENGAN METODE PERBANDINGAN TRIGONOMETRI BERBASIS ANDROID DESIGN AND BUILD APPLICATIONS GAUGES BUILDING HEIGHT WITH TRIGONOMETRIC COMPARISON METHODS ANDROID-BASED Afif Nuril Huda Andi Sunyoto Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA ABSTRACT Knowing the height of a building is probably the thing that is not very important for the people, but the work / activity to make certain that high is very helpful. Storey building high would be beneficial for the painter to take into account how many buckets of paint to be used. Therefore, altimeter (tool to measure the height) of building applications made to facilitate the calculation of building height. This application is devoted for android smartphone because all android smartphones ranging from the cheapest to the most expensive has a GPS (Global Positioning System), accelerometer sensor, and the camera are needed for the calculation of this application. calculation method used in this application trigonometric comparison with high object is as high triangle, distance of the object to the user as the base triangle, and triangular corner taken from the accelerometer sensor. According with the name of this application is to measure the height. The application is still in development so their accuracy still lacking, such as the accuracy in distance depending on the signal captured by GPS and the angle taken by the accelerometer sensor and camera. Keywords : accelerometer, altimeter of building, android, GPS (Global Positioning System), height gauge, trigonometric comparison.
1. Pendahuluan Mengetahui berapa tinggi suatu gedung bertingkat, pohon, atau tiang bendera mungkin adalah hal yang tidak penting bagi orang-orang, namun bagi suatu pekerjaan atau aktifitas tertentu tinggi tersebut adalah informasi yang sangat membantu. Tinggi gedung bertingkat akan bermanfaat bagi tukang cat yang mengecat tembok gedung tersebut, dengan tinggi gedung sang tukang bisa menghitung luas tembok yang akan dicat, sehingga tukang tersebut bisa memperhitungkan berapa ember cat yang dibutuhkan. Kemudian Seorang penebang pohon tidak bisa menghitung tinggi pohon. Jika penebang tidak tahu tinggi pohon bisa berakibat pada lingkungan sekitar, rumah di dekat pohon bisa saja tertimpa pohon, namun jika si penebang tahu tinggi pohon tersebut si penebang bisa mengukur jangkauan tumbangnya pohon dan bisa mengarahkan arah tumbang pohon agar lingkungan sekitarnya aman. Seseorang membeli tali untuk tiang bendera, namun tidak tahu tinggi tiang tersebut, akibatnya tali yang dibeli terlalu pendek atau terlalu panjang. Untuk membeli tali yang pas orang tersebut membutuhkan tinggi tiang untuk mengetahui berapa panjang tali yang dibutuhkan. Dari tiga contoh kasus diatas mengetahui tinggi gedung yang akan dicat untuk menghitung berapa ember yang dibutuhkan, mengetahui tinggi pohon yang akan di tebang untuk memperkirakan jangkauan jatuhnya pohon tersebut, dan mengetahui tinggi tiang bendera untuk mengukur panjang tali. Kegiatan tersebut perlu mengetahui tinggi objek yang akan mereka hadapi, akan tetapi mereka tidak bisa mengukur tinggi tersebut karena tidak mungkin mengukur tinggi dengan meteran dari bawah sampai atas. 2. Landasan Teori Location-Based Service (LBS) Menurut Riyanto (2010) Layanan Berbasis Lokasi dapat definiskan sebagai utilitas layanan secara dinamis mampu membedakan dan mentrasmisikan posisi seseorang dalam jaringan mobile. Menurut Reichenbacher (2004) Layanan berbasis lokasi memiliki lima kemampuan dasar yaitu : locating ,searching, navigating ,identifying, checking. Locating merupakan kemampuan untuk mengetahui tempat atau lokasi objek tertentu, searching merupakan kemampuan untuk mencari objek pada suatu daerah, navigating berguna untuk menunjukkan arah menuju lokasi, indentifying merupakan kemampuan untuk mengenali suatu objek pada suatu lokasi dan menampilkan data yang berkaitan dengan objek tersebut, sedangkan checking merupakan kemampuan untuk mencari dan memeriksa suatu event yang terjadi pada daerah tersebut.
2.2.1.
GPS (Global Positioning System)
GPS adalah sistem untuk menentukan letak di permukaan bumi dengan bantuan penyelarasan (synchronization) 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 letak, kecepatan, arah, dan waktu. Google Map API Edy Irwansyah (2013) menjelaskan bahwa Google Maps merupakan bentuk layanan dari Google yang menawarkan teknologi pemetaan terkini yang dapat digunakan untuk berbagai macam kebutuhan. Google Maps mempunyai platform opensource sehingga dapat digunakan dengan bebas. Google Maps API adalah kumpulan API yang memungkinkan pengguna menghamparkan data di Google Map yang telah disesuaikan. Pengguna dapat membuat aplikasi web dan seluler menarik dengan platform pemetaan canggih dari Google termasuk basis data citra satelit, pemandangan jalan, profil ketinggian, petunjuk arah mengemudi, peta dengan sentuhan gaya, demografi, analisis, dan tempat yang luas. Dengan cakupan global yang paling akurat di dunia dan komunitas pemetaan yang aktif dalam membuat pembaruan setiap harinya, pengguna akan mendapatkan manfaat dari layanan yang terus-menerus ditingkatkan. Sensor Accelerometer Accelerometers, seperti namanya, digunakan untuk mengukur percepatan. Percepatan didefinisikan sebagai laju perubahan kecepatan, sehingga mereka mengukur seberapa cepat kecepatan perangkat berubah dalam arah tertentu. Menggunakan accelerometer, Anda dapat mendeteksi gerakan dan, lebih berguna, laju perubahan kecepatan gerakan itu. Sangat penting untuk dicatat bahwa accelerometers tidak mengukur kecepatan, sehingga Anda tidak dapat mengukur kecepatan secara langsung didasarkan pada pembacaan accelerometer tunggal. Sebaliknya, Anda perlu untuk mengukur perubahan dalam percepatan dari waktu ke waktu. Umumnya, Anda akan tertarik pada perubahan percepatan relatif terhadap keadaan istirahat, atau gerakan cepat (ditandai dengan perubahan yang cepat dalam percepatan ) seperti gerakan yang digunakan untuk input pengguna . Dalam kasus yang pertama, Anda
akan sering perlu untuk mengkalibrasi perangkat untuk menghitung orientasi awal dan percepatan untuk mengambil efek tersebut ke dalam rekening hasil di masa mendatang. Android SDK (Software Development Kit) Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Saat ini disediakan Android SDK (Software Development kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Source code SDK Android ini dapat dilihat dan unduh langsung di
situs
resmi
pengembang
SDK
Android
di
http://www.developer.Android.com.
(Safaat:2012:5) ADT (Android Development Tools) Safaat (2012 : 6) juga memaparkan bahwa Android Development Tools (ADT) adalah plug-in yang didesain untuk IDE Eclipse yang memberi kita kemudahan dalam mengembangkan aplikasi Android dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse, ini akan memudahkan kita dalam membuat aplikasi project Android, membuat GUI aplikasi, dan menambahkan komponen – komponen yang lainnya. Selain itu kita juga dapat melakukan running aplikasi menggunakan Android SDK melalui Eclipse. Dengan ADT kita juga dapat melakukan pembuatan package Android (.apk) yang digunakan untuk distribusi aplikasi Android yang kita rancang. Mengembangkan aplikasi Android dengan menggunakan ADT di Eclipse sangat mudah dan baik untuk memulai mengembangkan aplikasi Android. Semakin tinggi platform Android yang kita gunakan, maka penggunaan ADT dianjurkan untuk memakai versi yang lebih baru, karena munculnya platform baru diikuti oleh munculnya versi ADT yang terbaru. IDE Eclipse Menurut Wahana Komputer (2013) Eclipse adalah sebuah software develop environment multibahasa yang berfitur extensible plugin dan untuk mengembangkan perangkat lunak serta dapat dijalankan semua platform (platform-independen). Berikut ini sifat eclipse : a.
Multi-platform : target untuk sistem operasi eclipse sendiri adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX, dan Mac OS-X.
b.
Multi-language : Eclipse merupakan bahasa pemrograman yang dikembangkan dalam bahasa java, akan tetapi eclipse mendukung pengembangan aplikasi
berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya. Pada saat ini ecplise merupakan salah satu IDE favorit dikarenakan bersifat open source , yang berarti setiap orang dapat mengembangkan perangkat lunak ini. Eclipse bersifat modular, didalamnya eclipse memuat bermacam-macam plugin , masing masing plugin membuat fungsionalitas di dalamnya yang saling bekerja sama dengan baik membentuk lingkaran pemrograman java yang terintergrasi. 3. Analisis Sistem Berikut adalah teknik pemecahan masalah yang menguraikan bagian-bagian komponen tersebut bekerja dan berinteraksi untuk mencapai tujuan mereka. 3.1. Identifikasi Masalah Seorang tukang cat tidak bisa menghitung tinggi gedung bertingkat, akibatnya tukang tersebut tidak bisa menghitung luas tembok yang di cat, sehingga tukang tersebut tidak bisa memperhitungkan berapa ember cat yang akan digunakan, namun jika tukang cat mengetahui tinggi gedung tukang tersebut bisa menghitung luas tembok yang di cat dan bisa menghitung berapa ember cat yang diperlukan. Untuk mengatasi permasalahan di atas penulis memutuskan untuk membuat aplikasi untuk menghitung tinggi suatu benda/objek. Aplikasi ini akan membantu untuk mengetahui tinggi suatu objek. Diharapkan aplikasi ini dapat membantu seseorang mengetahui tinggi objek seperti tinggi tiang, tinggi gedung, tinggi pohon atau tinggi dari benda-benda yang lainnya. Dengan adanya aplikasi ini pengguna tidak perlu repot-repot membawa meteran untuk menghitung dari bawah objek ke puncak objek, pengguna juga tidak perlu membuang banyak waktu dan tenaga. 3.2. Analisis Kebutuhan Sistem Dalam perancangan sistem peneliti mendefinisikan kebutuhan sistem dan proses apa saja yang akan dilakukan oleh sistem. Kebutuhan sistem sendiri terbagi menjadi dua yaitu kebutuhan functional dan kebutuhan nonfunctional. 3.2.1.
Kebutuhan Perangkat Keras
Kebutuhan Perangkat keras adalah kebutuhan perangkat keras yang dibutuhkan dalam membangun aplikasi. Pada pembuatan aplikasi penulis menggunakan notebook atau laptop. Berikut adalah spesifikasi perangkat keras yang digunakan:
Tabel 3.1 Kebutuhan Perangkat Keras No
Spesifikasi
Kebutuhan
1
Processor
Intel(R) Core(TM) i3 CPU @ 2.27GHz
2
RAM
2048MB
3
VGA
NVIDIA GeForce GT 310M CUDATM 512MB
4
Harddisk
320GB
3.2.2.
Kebutuhan Perangkat Lunak
Perangkat lunak yang dibutuhkan dalam membuat aplikasi oleh penulis adalah sebagai berikut: Tabel 3.2 Kebutuhan Perangkat Lunak No
Software
Kebutuhan
1
Sistem Operasi
Windows 8
2
Program Editor
Eclipse Kepler
3
Database
SQLite Manager
3.2.3.
Kebutuhan Fungsional
Kebutuhan Functional adalah jenis kebutuhan yang berisi proses-proses apa saja yang nantinya dilakukan oleh sistem. Kebutuhan fungsional juga berisi informasi-informasi apa saja yang harus ada dan dihasilkan oleh sistem. Berikut adalah kebutuhan fungsional yang dimiliki oleh aplikasi yang akan di buat : 1. Sistem harus dapat menghitung tinggi objek.
Gambar 3.1 Ilustrasi Menghitung Tinggi Dalam ilustrasi diatas terlihat seseorang sedang menghitung tinggi, tinggi tiang didapat dari rumus sebagai berikut: 𝑇𝑖𝑛𝑔𝑔𝑖 𝑡𝑜𝑡𝑎𝑙 = ℎ + 𝐻
dimana h adalah tinggi smartphone dari bidang datar yang nilai aslinya dalah 1.5 meter (nilai h bisa disesuaikan pada menu edit h) dan nilai H adalah hasil dari perhitungan trigonometri yang dilakukan sistem. Berikut rumus trigonometri yang digunakan : 𝐻 = tan 𝑦 ∗ 𝑗𝑎𝑟𝑎𝑘 dimana nilai sudut y didapat dari sensor accelerometer pada saat smartphone membidik bagian atas/puncak objek. Nilai jarak didapat dari jarak antara objek dengan pengguna. 2. Sistem harus bisa menghitung jarak pengguna dengan objek. Ada dua metode yang digunakan untuk menghitung jarak, yaitu dengan menghitung antara dua titik koordinat atau menggunakan rumus trigonometri. Perhatikan ilustrasi berikut :
Gambar 3.2 Ilustrasi Menghitung Jarak Ilustrasi diatas menggambarkan seseorang sedang menghitung jarak dengan tiang bendera. Jarak tersebut diukur dengan menggunakan rumus trigonometri. Berikut rumus yang digunakan : 𝑗𝑎𝑟𝑎𝑘 = tan 𝑦 ∗ ℎ dimana nilai sudut y didapat dari sensor accelerometer dan nilai h adalah tinggi smartphone dengan bidang datar. Metode pengukuran jarak yang satunya adalah dengan koordinat user dan objek, system akan menghitung jarak antara dua koordinat tersebut. Koordinat tersebut didapat dari sensor GPS yang ditampilkan dalam Maps, berikut adalah rumus untuk menghitung antara dua koordinat: 𝑙𝑎𝑡𝑂𝑏𝑗𝑒𝑘 ∗ 𝜋 𝑙𝑎𝑡𝑈𝑠𝑒𝑟 ∗ 𝜋 𝑙𝑎𝑡𝑂𝑏𝑗𝑒𝑘 ∗ 𝜋 ((acos (sin ( ) ∗ sin ( ) + cos ( ) 180 180 180 ∗ cos (
(𝑙𝑜𝑛𝑔𝑂𝑏𝑗𝑒𝑘 − 𝑙𝑜𝑛𝑔𝑈𝑠𝑒𝑟) ∗ 𝜋 𝑙𝑎𝑡𝑈𝑠𝑒𝑟 ∗ 𝜋 180 ) ∗ cos ( )) ∗ ) ∗ 60 180 180 𝜋
∗ 1.1515) ∗ 1.609344 ∗ 1000
dimana latObjek adalah koordinat latitude/bujur objek, longObjek adalah koordinat longitude/lintang objek, latUser adalah koordinat latitude/bujur user, longUser adalah koordinat longitude/lintang user, dan nilai 𝜋 adalah
22 7
. Hasil dari perhitungan jarak
tersebut akan ditampilkan dalam satuan meter. 3. Sistem harus bisa mengatur kalibrasi sudut. 4. Sistem harus bisa mengedit nilai h 5. Sistem harus bisa menyimpan history perhitungan. 3.2.4.
Kebutuhan Non-Fungsional
Kebutuhan Non-Fungsional adalah tipe kebutuhan yang berisi properti perilaku yang dimiliki oleh sistem. Berikut adalah kebutuhan Non-Fungsional yang ada pada aplikasi yang akan dibuat: 1. Operasional a. Digunakan pada sistem operasi Android dengan versi minimal Android 3.0 Honeycomb. b. Kebutuhan memori 256MB RAM. c.
Membutuhkan koneksi internet.
d. Membutuhkan layanan GPS. e. Membutuhkan kamera untuk membidik objek. f.
Membutuhkan memori menyimpan database.
2. Informasi a. Digunakan untuk menghitung tinggi suatu objek. b. Digunakan untuk menghitung jarak suatu objek. 3. Kinerja a. Dibutuhkan koneksi internet yang baik agar aplikasi dapat bekerja dengan lancar. b. Dibutuhkan service dari GPS untuk menentukan lokasi saat aplikasi digunakan. c.
Dibutuhkan kamera untuk menentukan sudut kemiringan dari smartphone. 3.3. Analisis SWOT Analisis SWOT merupakan metode perencanaan strategis yang digunakan untuk
melakukan pendekatan bisnis dengan lebih mudah dalam suatu proyek. Analisis tersebut dapat dilakukan dengan cara mengevaluasi kekuatan (strength), kelemahan (weakness), kesempatan (oportunity), dan ancaman (threats). 3.3.1.
Kekuatan (Strength)
Kekuatan yang dimiliki Aplikasi penghitung tinggi ini adalah:
1. Aplikasi ini dapat menghitung tinggi objek dengan mudah. 2. Aplikasi ini dilengkapi dengan Maps yang bisa digunakan untuk menentukan titik koordinat dari objek. 3. Untuk meningkatkan tingkat akurasi perhitungan, aplikasi ini disediakan dua pilhan menu yaitu untuk objek jarak dekat dan untuk objek jarak jauh. 4. Aplikasi ini dilengkapi dengan fitur kalibrasi untuk mengatur sudut kemiringan smartphone yang digunakan untuk menambah tingkat akurasi. 5. Aplikasi ini dapat menghitung semua objek yang mempunyai tinggi. 3.3.2.
Kelemahan (Weakness)
1. Nilai yang didapat dari sensor accelerometer tergantung pada pengguna,pengguna harus dengan tepat membidik kamera ke objek. 2. Penghitungan nilai h atau tinggi smartphone dengan bidang datar yang digunakan masih manual. Hal tersebut akan mempengaruhi nilai dari hasil perhitungan. 3. Aplikasi ini hanya bisa mengukur objek yang berada pada satu bidang datar dengan pengguna aplikasi. 3.3.3.
Kesempatan (Opportunity)
1. Aplikasi ini berbasis Android yang sekarang ini banyak digunakan. 2. Harga smartphone Android saat ini semakin terjangkau 3.3.4.
Ancaman (Threats)
1. Dikhawatirkan jika suatu saat smartphone Android tidak lagi banyak di gunakan. 2. Adanya aplikasi lain yang lebih canggih dan lengkap. 3.4. Perancangan Sistem Perancangan sistem merupakan bagian yang penting dalam membuat suatu sistem ataupun aplikasi, perancangan sistem ini dimaksudkan untuk memberikan gambaran umum tentang aplikasi yang akan dibuat. 3.4.1.
Perancangan UML
Untuk lebih memperjelas tentang gambaran sistem maka penulis membuat UML dengan beberapa tipe yaitu Use case diagram, Activity diagram, Sequence diagram, dan Class diagram. 3.4.2.
Use Case Diagram
Berikut adalah gambaran interaksi antara aplikasi dan aktor yang ada pada aplikasi ini:
Gambar 3.3 Use Case Diagram 3.4.3.
Activity Diagram
Activity diagram menggambarkan rangkaian aliran dari atifitas, digunakan untuk mendeskripsikan aktivitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use case atau interaksi. 1. Menghitung Jarak Dekat
Gambar 3.4 Diagram Menghitung Jarak Dekat
4. Menghitung Jarak Jauh
Gambar 3.5 Activity Diagram Menghitung Jarak Jauh (Maps) 3.4.4.
Sequence Diagram
Sequence diagram ini akan menggambarkan rangkaian langkah-langkah yang menggambarkan respon dari event pada aplikasi ini. Berikut adalah gambaran dari Sequence diagram pada aplikasi ini:
Gambar 3.6 Sequence Diagram Menghitung Jarak Dekat
Gambar 3.7 Sequence Diagram Menghitung Jarak Jauh 4. Implementasi dan Pembahasan 4.1. Listing Program Untuk pembahasaan listing program dalam aplikasi ini, penulis akan membahas script satu activity yaitu menu Hitung Jarak Jauh. 4.1.1.
Class Hitung_jarak_jauh.java
Class ini berfungsi untuk menghitung tinggi objek, setelah pada menu sebelumnya system sudah menghitung jarak objek. Pada menu ini terdapat rumus trigonometri dimana sudut segitiga diambil dari sensor accelerometer dan sisi segitiga (jarak) didapat pada menu sebelumnya. Setelah perhitungan selesai user diminta untuk memasukkan nama objek untuk disimpan dalam menu history. private double hitungZpositif(Double jarak, Double y, Double tanB, double tinggiSegitiga) { tanB = Math.tan(Math.toRadians(90-((y*10)+konstanta))); return tinggiSegitiga = tinggi_h-(tanB*jarak); } private double hitungZnegatif(Double jarak, Double y, Double tanB, double tinggiSegitiga) { tanB = Math.tan(Math.toRadians(90-((y*10)+konstanta))); return tinggiSegitiga = (tanB*jarak)+tinggi_h;
} 4.1.2.
Class Hitung_jarak_dekat.java
Pada class ini system dapat menghitung jarak sekaligus tinggi objek, dalam menghitung jarak tidak diperlukan koordinat karena system menghitung jarak dengan menggunakan rumus trigonometri. Setelah menghitung jarak sistem baru bisa menghitung tinggi, sistem menghitung tinggi dengan menggunakan rumus trigonometri. Setelah perhitungan selesai user diminta untuk memasukkan nama objek untuk disimpan dalam menu history. private double hitungJarak(Double y, Double tanA, double jarak) { tanA = Math.tan(Math.toRadians((y*10)+konstanta)); return jarak = tanA*tinggi_h; } private double hitungZpositif(Double jarak, Double y, Double tanB, double tinggiSegitiga) { tanB = Math.tan(Math.toRadians(90-((y*10)+konstanta))); return tinggiSegitiga = tinggi_h-(tanB*jarak); } private double hitungZnegatif(Double jarak, Double y, Double tanB, double tinggiSegitiga) { tanB = Math.tan(Math.toRadians(90-((y*10)+konstanta))); return tinggiSegitiga = (tanB*jarak)+tinggi_h; } 4.1.3.
Class Menu_utama.java
Pada class ini user akan disajikan pilihan menu, hitung jarak dekat dan hitung jarak jauh. User juga disajikan menu pilihan seperti edit h, history, bantuan, tentang, dan exit. Pilihan menu edit h disini berfungsi untuk menyesuaikan tinggi smartphone ketika digunakan untuk menghitung jarak atau tinggi objek. Cursor cursor = baseManager.select("SELECT h FROM tinggi_hp"); while (cursor.moveToNext()) { Double tinggi_hp = cursor.getDouble(cursor.getColumnIndex(COLUMN_NAME)); h = tinggi_hp; txtEdit.setText(String.valueOf(h)); } cursor.close();
btnEdit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { edit_tinggi(); dialog.dismiss(); } public Double edit_tinggi() { String tinggi_h = txtEdit.getText().toString(); double tinggi__h = Double.parseDouble(tinggi_h); ContentValues cv=new ContentValues(); cv.put("h", tinggi__h); String whereClause = "id=1"; Cursor cursor = baseManager.update(TABLE_NAME, cv, whereClause); return tinggi__h; } 5. penutup 5.1. Kesimpulan Berdasarkan uraian-uraian yang telah penulis jelaskan dalam bab-bab sebelumnya dan pembuatan aplikasi, maka dapat diambil kesimpuan sebagai berikut : 1. Cara kerja aplikasi untuk menghitung tinggi adalah dengan menggunakan rumus segitiga trigonometri. Dengan sudut segitiga yang diambil dari sensor accelerometer dan jarak pengguna dengan objek sebagai sisi segitiga. Jarak bisa didapat melalui dua cara, yaitu dengan menghitung jarak antar dua koordinat dari GPS atau dengan rumus segitiga trigonometri dengan tinggi smartphone dengan bidang datar sebagai sisi segitiga. Rumus trigonometri yang digunakan dalam pengukuran aplikasi ini adalah : tan α =
sisi depan sisi samping
2. Dari hasil percobaan yang sudah dilakukan dapat disimpulkan bahwa tingkat akurasi untuk menu hitung jarak dekat adalah 82% dan menu hitung jarak jauh sebesar 88,7%. 3. Aplikasi ini berjalan pada platform Android dengan API minimal 11 atau Android 3.0 (Honeycomb) ke atas.
4. Aplikasi ini membutuhkan koneksi internet dan layanan GPS, membutuhkan sensor accelerometer dan kamera untuk mengukur sudut kemiringan smartphone, dan membutuhkan storage untuk menyimpan data history. 5. Keakuratan hasil aplikasi ini tergantung pada tinggi smartphone dengan bidang datar (tinggi h), dari sensor accelerometer dan GPS, dan dari pengguna ketika membidik objek. 6. Aplikasi ini berjalan maksimal pada device dengan resolusi layar 480 x 800 pixel karena pada resolusi layar lainnya gambar yang digunakan untuk membidik objek akan berubah posisi dan hal tersebut mengurangi tingkat akurasi, atau dalam kata lain interface dari aplikasi ini belum responsif. 5.2. Saran Pada penulisan Skripsi ini tentu masih ada kekurangan, dan mungkin dapat disempurnakan oleh penelitian-penelitian berikutnya. Untuk lebih menyempurnakan program ini penulis memberikan beberapa saran diantaranya : 1. Pada menu hitung tinggi ditambahkan fungsi untuk mengukur tinggi objek yang tidak berada dalam satu bidang datar, misal objek yang berada di atas bukit. Pada menu utama ditambah fungsi untuk mengukur tinggi jika pengguna aplikasi berada paca puncak objek. Missal ketika pengguna berada di puncak gedung dan ingin mengukur tinggi gedung tersebut. 2. Pada menu edit h ditambah rumus untuk perhitungan secara otomatis, karena pada aplikasi yang sekarang nilai h baru bisa dimasukkan secara manual dan kurang akurat. 3. Ditambahkan fitur untuk mengambil foto objek agar pada saat melihat history pengguna disajikan foto objek beserta nama dan tinggi objek.
DAFTAR PUSTAKA Chamin, A. N. (2010). Penggunaan Microcontroller Sebagai Pendeteksi Posisi Dengan Menggunakan Sinyal GPS. JURNAL INFORMATIKA VOL.4 NO.1. Fatta, H. A. (2007). Analisis dan Perancangan Sistem Informasi untuk Keunggulan Bersaing Perusahaan dan Organisasi Modern. Yogyakarta: Andi. google. (2014, Februari 23). Google Maps for Business. Retrieved from www.google.com: http://www.google.com/intl/id/enterprise/mapsearth/products/mapsapi.html Hermawan, B. (2007). Menguasai JAVA 2 & Object Oriented Programming. Yogyakarta: Andi. Kariadinata, R. (2013). Trigonometri Dasar. Bandung: Pustaka Setia. Kusrini. (2006). Strategi Perancangan dan Pengelolaan Basis Data. Yogyakarta: Andi. Meier, R. (2009). Professional Android™ Application Development. Indianapolis: Wiley Publishing. Owens, M. (2006). The Definitive Guide to SQLite . United States of America: Apress. Raharjo, B. (2011). Belajar Otodidak Membuat Database Menggunakan MySQL. Bandung: Informatika. Riyanto. (2010). Sistem Informasi Geografis Berbasis Mobile. Yogyakarta: Gava Media. Safaat, N. (2012). Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika. Sakur, S. B. (2011). Pemrograman Berorientasi Objek-Konsep & Implementasi. Yogyakarta: Andi. Yasin, V. (2012). REKAYASA PERANGKAT LUNAK BERORIENTASI OBJEK Pemodelan, Arsitektur dan Perancangan (Modeling, Architecture and Design) tahun. Jakarta: Mitra Wasana Media.