SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
DENI ARIYANTO
10109372
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
Telp : 087823750905
Tempat lahir : Bandung
Tanggal Lahir : 17 November 1989
Jenis Kelamin : Pria
Agama : Islam
Kewarganegaraan : Indonesia
Alamat : Jl. Jantinegara Gg Philip No 174 Rt 10/02 Cicadas.
Pendidikan Formal
1. 1997 – 2003 : SD Jembar
2. 2003 – 2007 : Pondok Modern Gontor
3. 2007 – 2009 : MAN 2 Kota Bandung
4. 2009 – 2014 : Teknik Informatika - Universitas Komputer
v
ABTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ...viii
DAFTAR TABEL ... x
DAFTAR SIMBOL ... xi
DAFTAR LAMPIRAN ... xiv
BAB 1 PENDAHULUAN ... 1
1.5.2 Metode Pembangunan Perangkat Lunak ... 4
1.6 Sistematika Penulisan ... 5
2.4.1 Kelebihan dan Kekurangan Java ... 12
2.4.1.1 Kelebihan Java ... 12
2.4.1.2 Kekurangan Java ... 13
vi
2.7.1 Konsep Perancangan Berorientasi Objek ... 25
2.7.1.1 Unified Modelling Language ... 26
2.7.1.2 Use Case Diagram ... 26
2.7.1.3 Sequence Diagram ... 27
2.7.1.4 Activity Diagram ... 27
2.7.1.5 Class Diagram ... 27
2.8 Pengenalan Teorema Trigonometri ... 28
2.9 Pengukuran Kesalahan Peramalan MAD ... 30
2.10 Perancangan Kuesioner ... 32
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 33
3.1 Analisis Sistem ... 33
3.1.1 Analisis Masalah ... 33
3.1.2 Analisis Metode ... 34
3.1.2.1 Analisis Sistem yang akan dibangun ... 34
3.1.2.2 Analisis Accelerometer ... 35
3.1.2.3 Analisis Metode Trigonometri ... 37
3.1.3 Analisis Kebutuhan Sistem ... 39
3.1.3.1 Analisis Kebutuhan Non Fungsional ... 40
3.1.3.2 Analisis Kebutuhan Fungsional ... 41
3.1.3.2.1 Use Case Diagram ... 42
vii
3.2.2 Perancangan Antarmuka ... 56
3.2.2.1 Perancangan Tampilan ... 56
3.2.2.2 Perancangan Pesan ... 58
3.2.2.3 Perancangan Jaringan Semantik ... 59
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 61
4.1 Implementasi ... 61
4.1.1 Implementasi Perangkat Lunak ... 61
4.1.2 Implementasi Perangkat Keras... 61
4.1.3 Implementasi Class... 62
4.1.4 Implementasi Antarmuka ... 63
4.1.31 Antarmuka Aplikasi Frontend ... 63
4.2 Pengujian ... 66
4.2.1 Pengujian Alphaa ... 66
4.2.2 Kasus dan Hasil Pengujian ... 67
4.2.2.1 Menghitung Kesalahan dengan MAD ... 68
4.2.3 Kesimpulan Alpha ... 68
4.2.4 Pengujian Beta ... 69
4.2.5 Kesimpulan Pengujian Beta ... 72
BAB 5 KESIMPULAN DAN SARAN ... 73
5.1 Kesimpulan ... 73
5.2 Saran ... 73
75
[1]. http://developer.android.com, Akses:28/05/2014, jam : 21.00 WIB.
[2]. Wahyu, Adhi Susanto, sasongko Pramono Hadi, wahyu Widada. Simulasi
Filter kalman untuk Estimasi Posisi dengan Menggunakan sensor
Accelerometer, Jurna Techo Science, UDINUS Semarang, 2009.
[3]. Bambang Hariyanto, Ir., MT. “Esensi-Esensi Bahasa Pemrograman JAVA”, Penerbit Infromatika-Bandung, 2003.
[4]. Nazruddin Safaat H. “Pemrograman Aplikasi Mobile Smartphone dan Tanblet PC Berbasis Android” Penerbit Informatika Bandung, 2012.
[5]. Munawar. “Pemodelan Visual Dengan UML”, Graha Ilmu, Yogyakarta,
2005.
[6]. Ismail Besari. “Matematika Universitas”, Armico, Bandung, 1980.
[7]. Santoso, Singgih 2009. Busness Forecasting Metode Peramalan Bisnis
Masa Kini dengan Minitab dan SPSS, PT Elex Media Komputindo,
Jakaerta
[8]. Sugiyono., 2010, Metode Penelitian Kuantitatif, kuantitatif Dan R&D,
iii Assalamu alaikum Wr. Wb,
Puji syukur penyusun panjatkan kehadiran Allah SWT yang telah
memberikan rahmat dan hidayahnya, sehingga penyusun dapat menyelesaikan
skripsi ini yang berjudul “PEMBANGUNAN APLIKASI PENGUKURAN
TINGGI OBJEK MENGGUNAKAN PENDEKATAN TRIGONOMETRI
DENGAN MEMANFAATKAN ACCELEROMETER PADA SISTEM
OPERASI ANDROID”
Serta sholawat dan salam semoga tetap tercurah kepada Nabi Muhammad
SAW, kepada keluarga, sahabatnya dan umatnya.
Skripsi ini merupakan syarat akademik dalam menyelesaikan pendidikan
pada program studi Teknik Informatika Universitas Komputer Indonesia
Bandung. Penyusun menyadari bahwa skripsi ini bisa selesai berkat bantuan
bimbingan dan nasehat dati berbagai pihak, untuk itu pada kesempatan ini
penyusun menyampaikan rasa hormat dan terima kasih yang sebesar-besarnya,
kepada yang terhormat:
1. Kedua orang tua kasih sayang dan doa’anya, serta telah memberikan
dorongan baik dari segi materil dan imateril.
2. Kakak dan seluruh keluarga yang penulis cintai.
3. Dr. Ir. Eddy Suryanto Soegoto, M.Sc, selaku Rektor Universitas
Komputer Indonesia Bandung
4. Prof. Dr. Ir Denny Kurniadie, M.Sc. selaku Dekan Fakultas Teknik
Dan Ilmu Komputer Universitas Komputer Indonesia.
5. Bapak Irawan Afrianto, S.T., M.T, selaku Ketua Prodi Sistem
Informasi Fakultas Teknik dan Ilmu Komputer Universitas Komputer
iv
telah banyak meluangkan waktu untuk memberikan petunjuk dan
pengarahan kepada penyusun.
8. Bapak Andri Heryandi. S.T., M.T. selaku Dosen Penguji 1 yang telah
menguji serta memberikan arahan kepada penyusun selama proses
penyusunan laporan skripsi ini.
9. Seluruh dosen Teknik Informatika yang telah memberikan banyak
ilmu yang berharga untuk penyusun.
10.Seluruh kawan-kawan IF-9 angkatan 2009 yang tidak bisa penyusun
sebutkan satu persatu, terima kasih kepada semuanya yang telah
memberikan segala bentuk bantuan untuk menyelesaikan skripsi ini.
11.Terima kasih kepada Dian Widiawati yang telah menerima dan
memberikan semangat.
12.Deni Febriyanto S, M Rizky S, Aril Syahril, Ryan Indrawan, Rico, M
Irfan dan sahabat terbaikku yang telah membantu dalam segala hal
Dengan segala kerandahan hati, penyusun menyadari bahwa skripsi ini
masih banyak kesalahan dan kekurangan, oleh karena itu penyusun mohom saran
dan kritikannya demi kesempurnaan didalam skripsi ini yang dapat dijadikan
pedoman bagi penulis khususnya dan pembaca pada umumnya.
Wassalamu’alaikum Wr.Wb.
Bandung,19 Agustus 2014
1
1.1Latar Belakang
Waterpass adalah suatu alat ukur tanah yang dipergunakan untuk
mengukur tinggi objek antara titik-titik saling berdekatan. Tinggi objek
tersebut ditentukan dengan garis-garis visir (sumbu teropong) horizontal yang
ditunjukan ke rambu-rambu ukur yang vertikal. Dan peralatan yang
digunakan dalam pengukuran waterpass ini adalah sebagai berikut: waterpass,
statip, unting-unting, payung, dua buah rambu ukur, meteran, paku, palu, cat
dan kuas kecil.
Pada penggunaan alat ukur waterpass selalu harus disertai dengan
rambu ukur (baak),yang terpenting dari rambu ukur adalah pembagian
skalanya harus betul-betul teliti untuk dapat menghasilkan pengukuran yang
baik. Di samping itu cara memegangnya pun harus betul-betul tegak (vertikal)
dan tidak sembarang orang dapat melakukan pengukuran dengan tepat,
kemudian pengamat pulang pergi untuk mencatat hasil pembacaan rambu
ukur yang minimum.
Dalam melakukan pengukuran kemungkinan terjadi kesalahan
pastilah ada dimana sumber kesalahan atau permasalahan tersebut, antara
lain: kurangnya ketelitian mata dalam pembacaan alat waterpass, adanya
angin yang membuat rambu ukur terkena hembusan angin, sehingga tidak
dapat berdiri dengan tegak yang dapat membuat pita akur menjadi susah
diluruskan.
Dengan majunya perkembangan teknologi komunikasiseperti ponsel
sekarang ini, kini fungsi ponsel bukan hanya sebagai alat komunikasi.
Dengan adanya penambahan beberapa alat dan fungsi-fungsi kedalam ponsel
memungkinkan penggunaannya akan menjadi lebih luas. Hampir setiap
ponsel sekarang ini sudah dilengkapi dengan fitur kamera yang memiliki
juga dengan halnya ponsel berbasis Android, dengan memanfaatkan kamera
dan sensor Accelerometer yang ada pada ponsel berbasis Android.
Accelerometer digunakan sebagai alat bantu untuk mengukur jarak
kemiringan antara ponsel terhadap objek yang akan dituju. Dengan
mengetahui berapa besar sudut yang dihasilkan antara jarak ponsel dan objek
yang dituju maka penghitungan terhadap ketinggian objek pun dapat
dilakukan dengan memanfaatkan rumus trigonometri dalam menemukan
hasilnya, sehingga ketinggian suatu objek pun dapat diketahui.
Berdasarkan permasalahan di atas, akan dibuat aplikasi mobile yang
dapat digunakan untuk membantu mengukur tinggi objek yang ingin
diketahui tanpa memerlukan alat tambahan dan menghemat waktu dalam
mencari tinggi objek.
Dengan didasari uraian dan latar belakang masalah tersebut maka
tertarik untuk membuat suatu aplikasi mobile dengan mengangkat topik yang
berjudul “PEMBANGUNAN APLIKASI PENGUKURAN TINGGI
OBJEK MENGGUNAKAN PENDEKATAN TRIGONOMETRI
DENGAN MEMANFAATKAN ACCELEROMETER PADA SYSTEM OPERASI ANDROID”, dengan harapan agar dapat membantu setiap pekerjaan yang berhubungan dalam mengukur tinggi objek, terutama para
pekerja bangunan yang ingin mencari tinggi benda tanpa perlu alat bantu dan
mempersingkat waktu yang digunakan dalam penghitungan karena sistem
perhitungan telah dimasukkan ke dalam program aplikasi.
1.2Rumusan Masalah
Dalam pembuatan aplikasi ini ada beberapa hal dan masalah yang
harus diperhatikan, antara lain:
1. Bagaimana membuat alat bantu untuk mengukur tinggi objek
1.3Maksud dan Tujuan Penelitian
1.3.1 Maksud Penelitian
Maksud dari pembuatan skripsi ini adalah untuk membuat sebuah
aplikasi mobile phone yang dapat mengukur tinggi objek dengan
memanfaatkan Accelerometer pada System Operasi Android dan rumus
Trigonometri.
1.3.2 Tujuan Penelitian
Sedangkan tujuan yang dicapai untuk penelitian ini adalah:
1. Mempermudah dalam pengukuran ketinggian objek
2. Mengetahui keakuratan tinggi objek
1.4Batasan Masalah
Dalam pembahasan lebih lanjut maka permasalahan yang akan dikaji
dibatasi terlebih dahulu, agar tidak menimbulkan terlalu luasnya penafsiran
mengenai permasalahan dan pembahasan, sebagai berikut:
1. Objek yang dijadikan ilustrasi adalah tinggi bangunan, tinggi lemari,
tinggi pintu, tinggi kulkas.
2. Metode pengembangan perangkat lunak dilakukan dengan cara
Object Oriented dan Tools yang digunakan yaitu UML (Unified
Modeling Language) dalam menggambarkan model fungsional dan
diagram-diagram yang digunakan yaitu Use Case Diagram, Class
Diagram, Sequence Diagram, Acrivity Diagram.
3. Penggunaan aplikasi ini hanya diperuntukan bagi para pengguna
mobile phone android versi froyo hingga versi yang terbaru.
4. Aplikasi ini hanya untuk mengukur tinggi objek.
5. Metode yang digunakan pada proses penghitungan tinggi bangunan
yaitu metode trigonometri.
6. Pada system operasiandroid harus terdapat Accelerometer
1.5Metodelogi Penelitian
Metodelogi penelitian merupakan suatu proses yang digunakan untuk
memecahkan suatu masalah yang logis. Dalam pembuatan tugas akhir ini
digunakan metode penelitian deskripsif yang menggambarkan fakta-fakta dan
informasi secara sistematis, faktual, dan akurat. Metode penelitian ini
memiliki dua tahapan penelitian, yaitu metode pengumpulan data dan metode
pembangunan perangkat lunak
1.5.1 Metode Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian ini
adalah sebagai berikut:
1. Studi Literatur
Pengumpulan data dengan cara mengumpulkan literatur, jurnal,
paper dan bacaan-bacaan yang ada kaitannya dengan judul
penelitian.
2. Observasi
Teknik pengumpulan data dengan mengadakan peninjauan langsung
terhadap permasalahan yang diambil.
1.5.2 Metode Pembangunan Perangkat Lunak
Metodologi yang akan digunakan adalah metodologi waterfall,
penelitian ini terdiri dari langkah-langkah berikut:
1. Analysis
Merupakan tahap menganalisis hal-hal yang berkaitan dengan
penelitian dan mengumpulkan bahan-bahan yang diperlukan dalam
pembangunan sistem secara rinci
2. Desain
Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang
mudah dimengerti oleh pengguna.
3. Coding
Tahap penerjemahan data atau pemecahan masalah yang telah
dirancang kedalam bahasa pemrograman tertentu.
Merupakan tahapan pengujian terhadap perangkat lunak yang
dibangun
5. Maintenance
Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat
mengalami perubahan-perubahan atau penambahan sesuai dengan
permintaan pengguna
Gambar 1.1 Waterfall Model
1.6Sistematika Penulisan
Sistematika penulisan tugas akhir ini disusun untuk memberikan
gambaran umum tentang penelitian yang dijalankan. Sistematika
penulisan tugas akhir ini adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisi latar belakang masalah,rumusan masalah, maksud
dan tujuan penelitian, batasan masalah, metodologi penelitian
dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini membahas teori penunjang yang berhubungan dengan
pemrograman android dan pengukuran ketinggian objek dengan
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas tentang desain dan sistem yang akan dibuat
meliputi: Lingkungan pengembangan program, Analisis,
Perancangan sistem, Rancangan tampilan aplikasi, dan UML.
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi kelebihan/keunggulan program, pengujian program,
serta analisis hasil pengujian untuk mengetahui efektifitas dari
Aplikasi
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari hasil uji coba yang dilakukan serta
7
Menurut berbagai sumber, sensor didefinisikan sebagai berikut:
1. Menurut Kenny “Sensor adalah perangkat yang mengubah suatu
properti fisik menjadi sebuah sinyal elektronik”[2]
2. Menurut Zook, Bonne & Samad “Sensor adalah perangkat yang
merubah rangsangan fisik atau masukan menjadi keluaran yang dapat dibaca”[2]
2.2Sensor Accelerometer
“Accelerometermodern tidak lain adalah MEMS (micro electro mechanical system) berskala kecil. Accelerometer adalah suatu alat untuk
mengukur percepatan, mendeteksi dan mengukur getaran, atau untuk mengukur percepatan gravitasi (inklinasi)” [2].
Pengukurannya bisa secara analog maupun digital. Accelerometer
dapat digunakan untuk mengukur percepatan baik statis maupun dinamis.
Accelerometer akan mengalami percepatan dalam kisaran dari -1g sampai
+1g (9.8m/s2), dan hingga kemiringan 180°.
Pada smartphoneAccelerometer merupakan sensor yang bisa
membaca pergerakan sehingga dapat mengubah tampilan layar dari
posisilandscape ke portrait atau sebaliknya dengan cukup memiringkan
badan ponsel secara otomatis. Sensor Accelerometer terlihat pada Gambar 2.2
:
Jenis – jenis Accelerometer:
a. Kapasitif
Teknologi yang digunakan lempengan logam atau mesin mikro
yang menghasilkan kapasitansi. Perubahan kapasitansi berkaitan
dengan percepatan.
b. Piezoelektrik
Teknologi yang digunakan kristal piezoelektrik yang sensitif
terhadap percepatan (tekanan) dan mengubahnya menjadi muatan
listrik.
c. Piezoresistif
Teknologi yang digunakan lempeng atau mesin mikro yang tahan
terhadap perubahan percepatan.
d. Hall Effect
Teknologi yang digunakan gerakan diubah jadi sinyal listrik
dengan mengukur perubahan yang terjadi pada medan magnet.
e. Magnetoresistive
Teknologi yang digunakan resistivitas dari material yang berubah
ketika berada di medan magnet.
f. Head transfer
Teknologi yang digunakan lokasi dari material yang mengalami
perubahan suhu dilacak selama terjadi percepatan dengan
mengukur temperatur.
Accelerometer dapat diimplementasikan pada beberapa bidang
Salah satu pengguaan Accelerometer yang sangat umum yaitu dalam sistem
airbag yang terdapat pada kendaraan, khususnya mobil. Accelerometer ini
digunakan untuk mendeteksi penurunan percepatan yang sangat besar yang
biasanya terjadi ketika terjadinya tabrakan antar kendaraan.
Sport Watch, berupa jam tangan olahraga yang juga dapat menghitung
berapa banyak langkah yang telah lakukan, Accelerometer juga digunakan
untuk menghitung kecepatan dan jarak dari si pelari yang menggunakannya.
percepatan dari sebuah kendaraan. Accelerometer membantu untuk
mengevaluasi performansi dari mesin dan sistem percepatan dan juga breaking
system (sistem penurunan percepatan).
Kecepatan yang biasa ditampilkan pada kendaraan anda umumnya
didapatkan dari penggunaan Accelerometer. Selain itu juga biasa digunakan
untuk menghitung vibrasi pada kendaraan, mesin, bangunan, dan sistem
keamanan pada kendaraan (safety installation). Accelerometer juga dapat
mengkalkulasi percepatan yang diakibatkan oleh gravitasi bumi. Accelerometer
yang menghitung gravitasi secara spesifik digunakan pada gravimetry, disebut
sebagai gravimeter. Notebook atau laptop juga dilengkapi dengan
Accelerometer untuk mengevaluasi goncangan yang dirasakan oleh laptop
tersebut.
Accelerometer pada laptop biasanya digunakan pada sistem Sudden
Motion Sensor, yang biasa digunakan untuk mendeteksi jatuhnya laptop. Jika
kondisi pada saat jatuh terdeteksi, hard diskdrive yang ada akan diproteksi
sehingga tidak terjadi data loss. Sekarang ini juga terdapat notebook yang
menggunakan Accelerometer untuk secara otomatis mengubah arah layar
(menjadi miring ataupun terbalik) sesuai dengan arah monitor tersebut
ditegakkan (portrait atau landscape).
Terdapat juga sejumlah ponsel yang menggunakan Accelerometer untuk
mengubah lagu yang dimainkan (Track Switching). Camera recorder
menggunakan Accelerometer untuk menstabilkan gambar. Kamera digital
menggunakan Accelerometer untuk menu pilihan anti blur ketika mengambil
gambar. Baru-baru ini Apple.Inc memperkenalkan sebuah gebrakan dengan
mengkombinasikan 2 sensor gerakan yaitu antara Accelerometer
dan Gyroscope pada sebuah perangkat ponsel. Ini akan menyempurnakan fitur
dari ponsel yang hanya menggunakan Accelerometer dalam mendeteksi
gerakan. Dengan kombinasi ini maka akan didapatkan 6 sumbu gerakan yaitu 3
sumbu linier (atas-bawah, kanan-kiri, depan-belakang) dan 3 sumbu rotasi
(rotasi roll,pitch and yaw seperti pada gambar 2). 1 keunggulan lagi dari
gerakannya lebih halus dari pada perangkat ponsel yang hanya menggunakan
Accelerometer.[2]
Memilih Portrait dan Landscape Mode
Penggunaan volume tinggi pertama accelerometer dalam produk
konsumen adalah untuk beralih tampilan antara orientasi landscape dan
portrait. Sebuah tablet PC, yang ditunjukkan pada Gambar 2.2, memiliki empat
kemungkinan orientasi layar berlabel di sini sebagai Bawah, Atas, Kanan dan
Kiri, menurut lokasi tepi bawah teks atau citra yang ditampilkan.
Gambar 2. 2Portrait dan Landscape Layar Orientasi
Masalah ini agak lebih kompleks dari itu akan muncul pada pandangan
pertama sejak pemetaan langsung antara orientasi layar dan membaca
accelerometer tidak ergonomis cocok. Secara khusus, pengguna melihat layar
dalam salah satu dari empat mode yang ditunjukkan pada Gambar 8
mengharapkan bahwa mode tampilan tetap tidak berubah sebagai tablet diputar
ke orientasi datar. Pembacaan accelerometer yang dihasilkan dari tablet yang
datar di atas meja sehingga dapat dikaitkan dengan salah satu dari empat
Solusinya adalah mesin negara sederhana di mana pembacaan
accelerometer mengarah ke transisi antara orientasi layar daripada langsung
mendefinisikan orientasi layar. Sederhana aturan transisi keadaan tercantum
di bawah ini.
1.(|Gpz|< 0.5g)dan(|Gpx|< 0.5g)dan(|Gpy|< 0.4g) : orientasikeatas
2.(|Gpz|< 0.5g)dan(|Gpx|<-0.5g)dan(|Gpy|< 0.4g) : orientasikebawah
3.(|Gpz|< 0.5g)dan(|Gpy|< 0.5g)dan(|Gpx|< 0.4g) : orientasikekanan
4.(|Gpz|< 0.5g)dan(|Gpy|<-0.5g)dan(|Gpx|< 0.4g) : orientasikekiri
Pada smartphone berbasis android terdapat sensor manager yang
berfungsi untuk mengaktifkan sensor accelerometer dalam mencari nilai
koordinat x,y,z dengan memiringkan handphone
Tabel 2. 1 Sensor Manager
sensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
sensor=sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(new SensorEventListener() {
@Override
publicvoid onSensorChanged(SensorEvent event) {
currentX=event.values[0];
currentY=event.values[1];
currentZ=event.values[2];
Log.d("X,Y,Z", String.valueOf(round(currentX))+", "+round(currentY)+", "+round(currentZ));
}
Jika sensor accelerometer telah diaktifkan maka dapat mencari nilai
koordinat kemiringan dimana values [0] untuk nilai currentX dan values [1]
untuk nilai currentY dan values [2] untuk nilai currentZ
2.3Handphone
Telepon seluler (ponsel) atau telepon genggam (telgam) atau
handphone(HP) atau disebut pula adalah perangkat telekomunikasi elektronik
yang mempunyai kemampuan dasar yang sama dengan telepon konvensional
saluran tetap, namun dapat dibawa ke mana-mana (portable, mobile) dan tidak
wireless). Saat ini Indonesia mempunyai dua jaringan telepon nirkabel yaitu
sistem GSM (Global System for Mobile Telecommunications) dan sistem
CDMA (Code Division Multiple Access). Badan yang mengatur
telekomunikasi seluler Indonesia adalah Asosiasi Telekomunikasi Seluler
Indonesia (ATSI)
2.4Java
Bahasa Java dikembangkanoleh Sun Microsystem tahun 1991 sebagai
bagian dari suatu proyek penelitian untuk mengembangkan software bagi
konsumer barang-barang elektronik seperti televise, VCR, toaster dan mesin-
mesin lainnya yang dapat dibeli di swalayan. Tujuan penciptaan Java pada
waktu itu adalah menjadi suatu program yang berukuran kecil, efisien, dan
portable di segala jenis hardware. Tujuan yang sama ini membuat Java
menjadi satu bahasa yang ideal untuk mendistribusikan program – program
yang dapat dijalankan melalui www dan juga suatu bahasa pemrograman untuk
segala tujuan untuk mengembangkan program – program yang dapat
digunakan dengan mudah dan portable di berbagai platform yang berbeda.[3]
Saat ini distribusi Java dan kelas pendukungnya dibagi dalam tiga
bagian yang masing-masing memiliki konsentrasi tersendiri yaitu:
1. Java 2 Standart Edition (J2SE), untuk aplikasi desktop
2. Java 2 Enterprise Edition (J2EE), untuk aplikasi server
3. Java 2 Micro Edition (J2ME), untuk piranti dengan kemampuan
terbatas
2.4.1 Kelebihan dan Kekurangan Java
Setelah membahas mengenai pengertian java, kemudian akan
membahas mengenai kelebihan dan kekurangan java.
2.4.1.1 Kelebihan Java
Kelebihan Java yang pertama tentu saja multi platform. Java dapat
dijalankan dalam beberapa platform komputer dan sistem operasi yang
Yang kedua adalah OOP (Object Oriented Programming). Java memiliki
library yang lengkap. Library disini adalah sebuah kumpulan dari program
yang disertakan dalam Java. Hal ini akan memudahkan pemrograman
menjadi lebih mudah. Kelengkapan library semakin beragam jika ditambah
dengan karya komunitas Java. Setiap hal pasti memiliki kelebihan dan
kekurangan.
2.4.1.2 Kekurangan Java
Kekurangan Java yang adalah penggunaan memori yang cukup
banyak, lebih besar daripada bahasa tingkat tinggi sebelum generasi Java.
Namun hal ini memang sesuai dengan fitur beragam yang dimiliki oleh Java.
Masalah memori ini juga tidak dialami oleh semua pengguna aplikasi Java.
yang sudah menggunakan perangkat keras dengan teknologi terbaru tidak
merasakan kelambatan dan konsumsi memori Java yang tinggi. Lain halnya
dengan yang menggunakan teknologi lama atau komputer yang sudah
berumur tua lebih. Namun apapun kelemahan yang dimiliki Java, faktanya
adalah Java merupakan bahasa pemrograman yang populer dan digunakan di
seluruh dunia saat ini.
2.5Android
Android adalah sistem operasi untuk telepon seluler yang berbasis
Linux. Android menyediakan platform terbuka bagi para pengembang untuk
menciptakan aplikasi mereka sendiri dan untuk digunakan oleh bermacam
peranti bergerak (mobile device). Hal ini memungkinkan para pengembang
menulis kode terkelola (managed code) dalam bahasa pemrograman Java,
mengontrol peranti via perpustakaan Java yang dikembangkan Google.
Android merupakan subset perangkat lunak untuk perangkat mobile yang
meliputi sistem operasi, middleware, dan aplikasi inti yang di release oleh
Google. Sedangkan Android SDK (Software Development Kit) menyediakan
Tools dan API yang diperlukan untuk Aplikasi Android nantinya tidak akan
sebuah virtual machine yang khusus dirancang untuk digunakan pada sistem
embedded mengembangkan aplikasi pada platform Android dengan
menggunakan bahasa pemograman Java.[4]
Android memiliki berbagai fitur seperti :
a. Framework Aplikasi yang mendukung penggantian komponen dan
reusable
b. Mesin virtual Dalvik dioptimalkan untuk perangkat mobile
c. Integrated browser berdasarkan engine open source WebKit
d. Grafts yang dioptimalkan dan didukung oleh library grafis 2D,
grafis 3D berdasarkan spesifikasi OpenGL
e. SQLite untuk penyimpanan data
f. Media support yang mendukung audio, video dan berbagai format
gambar (MPEG4,MP3, AAC, AMR, JPG,PNG,GIF)
g. GSM, Bluetooth, EDGE, 3G dan WiFi (hardware dependent)
h. Kamera, GPS, Kompas dan Accelerometer
i. Lingkungan Development yang lengkap dan kaya termasuk
perangkat emulator, tools untuk debugging, serta plugin untuk
Eclipse IDE.
Selain itu menggunakan Android sebagai Operasi Sistemnya memiliki
biaya lisensi lebih murah dan sifatnya yang semi open source. Tidak hanya
itu, Android tentunya akan support dengan berbagai layanan dari Google.
2.5.1 Karakteristik Android
Andorid merupakan subset perangkat lunak untuk perangkat mobile
yang meliputi sistem operasi, middleware, dan aplikasi init yuang di-release
oleh Google. Pada tulisan sebelumnya, kita mengenal SDK (Software
Development Kit). SDK adalah suatu tools dan API yang diperlukan untuk
mengembangkan aplikasi pada platform atau linkungan Android.
Pengembangan aplikasi Android menggunaka bahasa pemrograman Java.
Seperti kita ketahui, SDK ini dikembangkan oleh OHA (Open Handsate
T-Mobile, dan NVIDIA. SDK dapat kita gunakan pada beberapa IDE
(Integrated Development and Environment) – software untuk membuat suatu
program – akan tetapi, pada tulisan selanjutnya, saya akan menggunakan
Eclipse karena OHA secara resmi membuat plugin untuk IDE Eclipse.
2.5.2 Arsitektur Android
Arsitektur Android menunjukkan komponen-komponen utama yang
terdapat pada sistem operasi Android. Berikut ini arsitektur Android:
Gambar 2.3 Arsitektur Android
1. Linux Kernel
Android bukan Linux, akan tetapi Android dibangun diatas Linux
Kernel, yaitu versi 2.6 sehingga kehandalannya bisa dipercaya.
Untuk inti sistem service Linux yang digunakan seperti
keamanan, manajemen memori, proses manajemen, network, dan
driver model. Seperti yang terlihat digambar (Gambar II.3), Linux
Kernel menyediakan Driver Layar, Kamera, Keypad, WiFi, Flash
mengatur aplikasi dan keamanan. Kernel juga bertindak sebagai
lapisan abstrak antara hardware dan software stack-nya.
2. Libraries
Android menyertakan libraries C/C++ yang digunakan
oleh berbagai komponen dari sistem Android. Kemampuan ini
disediakan kepada Developer aplikasi melalui Framework
Aplikasi Android. Beberapa inti libraries tercantum dibawah ini:
a. System C Library – Variasi dari implementasi BSD-berasal
pelaksana sistem standar C library (libc), sesuai untuk
perangkat embedded berbasis Linux.
b. Media Libraries – PacketVideo berdasarkan OpenCORE;
library medukung pemutaran rekaman dan populer banyak
format audio dan video, serta file gambar, termasuk
MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG.
c. Surface Manager – mengelola akses ke subsistem layar,
lapisan komposit 2D dan grafis 3D dari beberapa aplikasi.
d. LibWebCore – mesin web modern yang powerfull yang
baik browser Android embedded web.
e. 3D Libraries – sebuah pelaksana berdasarkan openGL ES
1,0 API; perpustakaan baik menggunakan perangkat keras
akselerasi 3D (apabila tersedia) atau yang disertakan, sangat
optimal 3D software rasterizer.
f. FreeType – bitmap dan vektor font rendering.
g. SQLite – mesin database yang kuat dan ringan, dan
penghubung tersedia untuk semua aplikasi
3. Android Runtime
Android terdiri dari satu set core libraries yang
menyediakan sebagian besar fungsi yang sama dengan yang
aplikasi menjalankan prosesnya sendiri dalam Android, dengan
masing-masing instan dari mesin virtual Dalvik (Dalvik VM).
Dalvik dirancang agar perangkat dapat menjalankan multiple
VMs secara efisien. Mesin Virtual Dalvik mengeksekusi file
dalam Dalvik executable (.dex), sebuah format yang dioptimalkan
untuk memori yang kecil.
4. Framework Aplikasi
Pengembang memiliki akses penuh menuju API
framework yang sama dengan yang digunakan oleh aplikasi inti.
Arsitektur aplikasi dirancang agar komponen dapat digunakan
kembali (reuse) dengan mudah. Setiap aplikasi dapat
memanfaatkan kemampuan ini (sesuai dengan batasan keamanan
yang didefinisikan oleh framework). Mekanisme yang sama
memungkinkan komponen untuk diganti oleh pengguna.
Semua aplikasi merupakan rangkaian set layanan dan
sistem, termasuk:
a. Views yang kaya dan extensible yang dapat digunakan
untuk membangun aplikasi, termasuk list, grids, kotak teks,
tombol, dan bahkan sebuah embedded web.
b. Content Provider yang memungkinkan aplikasi untuk
mengakses data (seperti dari daftar kontak telepon) atau
membagi data tersebut.
c. Resource Manager, yang menyediakan akses ke kode
nonsumber lokal seperti string, gambar, dan tata letak file.
d. Notifications Manager yang memungkinkan semua aplikasi
menampilkan alert yang bisa dikostumisasi di dalam status
bar.
e. Activity Manager yang mengelola siklus hidup aplikasi dan
menyediakan navigasi umum backstack.
Android telah menyertakan aplikasi inti seperti email
client, SMS, kalender, peta, browser, kontak, dan lainnya. Semua
aplikasi tersebut ditulis dengan menggunakan bahasa
pemrograman Java. Pada layer inilah developer atau kita
menempatkan aplikasi yang dibuat. Yang istimewa adalah pada
Android semua aplikasi baik aplikasi inti (native) maupun
aplikasi pihak ketiga berjalan pada layer aplikasi dengan
menggunakan library API yang sama. Ini berarti semua aplikasi
yang dibuat untuk Android akan memiliki akses yang setara
dalam mengakses seluruh kemampuan handset, tanpa
membedakan apakah itu merupakan aplikasi inti atau aplikasi
pihak ketiga. Dalam kata lain dengan platform Android ini,
Programmer atau Developer secara penuh akan bisa
mengkostumisasi perangkat Androidnya.[4]
2.5.3 Perkembangan Android
Android telah banyak melakukan perkembangan, berikut adalah
perkembangan dari android:
a. Android versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1.
Android versi ini dilengkapi dengan pembaruan estetis pada
aplikasi, jam alarm, voice search (pencarian suara), pengiriman
pesan dengan Gmail, dan pemberitahuan email.
b. Android versi 1.5 (Cupcake)
Pada pertengahan Mei 2009, Google kembali merilis
telepon seluler dengan menggunakan Android dan SDK (Software
Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa
pembaruan termasuk juga penambahan beberapa fitur dalam
seluler versi ini yakni kemampuan merekam dan menonton video
dengan modus kamera, mengunggah video ke Youtube dan
A2DP, kemampuan terhubung secara otomatis ke headset
Bluetooth, animasi layar, dan keyboard pada layar yang dapat
disesuaikan dengan sistem.
c. Android versi 1.6 (Donut)
Donut (versi 1.6) dirilis pada September dengan
menampilkan proses pencarian yang lebih baik dibanding
sebelumnya, penggunaan baterai indikator dan kontrol applet
VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna
untuk memilih foto yang akan dihapus; kamera, camcorder dan
galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN,
Gestures, dan Text-to-speech engine; kemampuan dial kontak;
teknologi text to change speech (tidak tersedia pada semua
ponsel; pengadaan resolusi VWGA.
d. Android versi 2.0/2.1 (Eclair)
Pada 3 Desember 2009 kembali diluncurkan ponsel
Android dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan
adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2,
perubahan UI dengan browser baru dan dukungan HTML5, daftar
kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital
Zoom, dan Bluetooth 2.1.
Untuk bergerak cepat dalam persaingan perangkat generasi
berikut, Google melakukan investasi dengan mengadakan
kompetisi aplikasi mobile terbaik (killer apps - aplikasi
unggulan). Kompetisi ini berhadiah $25,000 bagi setiap
pengembang aplikasi terpilih. Kompetisi diadakan selama dua
tahap yang tiap tahapnya dipilih 50 aplikasi terbaik.
e. Android versi 2.2 (Froyo: Frozen Yoghurt)
Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan.
Perubahan-perubahan umumnya terhadap versi-versi sebelumnya
antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan
engine yang dipakai Google Chrome yang mempercepat
kemampuan rendering pada browser, pemasangan aplikasi dalam
SD Card, kemampuan WiFi Hotspot portabel, dan kemampuan
auto update dalam aplikasi Android Market.
f. Android versi 2.3 (Gingerbread)
Pada 6 Desember 2010, Android versi 2.3 (Gingerbread)
diluncurkan. Perubahan-perubahan umum yang didapat dari
Android versi ini antara lain peningkatan kemampuan permainan
(gaming), peningkatan fungsi copy paste, layar antar muka (User
Interface) didesain ulang, dukungan format video VP8 dan
WebM, efek audio baru (reverb, equalization, headphone
virtualization, dan bass boost), dukungan kemampuan Near Field
Communication (NFC), dan dukungan jumlah kamera yang lebih
dari satu.
g. Android versi 3.0/3.1 (Honeycomb)
Android Honeycomb dirancang khusus untuk tablet.
Android versi ini mendukung ukuran layar yang lebih besar. User
Interface pada Honeycomb juga berbeda karena sudah didesain
untuk tablet. Honeycomb juga mendukung multi prosesor dan
juga akselerasi perangkat keras (hardware) untuk grafis. Tablet
pertama yang dibuat dengan menjalankan Honeycomb adalah
Motorola Xoom. Perangkat tablet dengan platform Android 3.0
akan segera hadir di Indonesia. Perangkat tersebut bernama Eee
Pad Transformer produksi dari Asus. Rencana masuk pasar
Indonesia pada Mei 2011.
h. Android versi 4.0 (ICS :Ice Cream Sandwich)
Diumumkan pada tanggal 19 Oktober 2011, membawa
fitur Honeycomb untuk smartphone dan menambahkan fitur baru
termasuk membuka kunci dengan pengenalan wajah, jaringan
data pemantauan penggunaan dan kontrol, terpadu kontak
secara offline, dan berbagi informasi dengan menggunakan
NFC.[4]
2.5.4 Kelebihan Android
Sudah banyak platform untuk perangkat selular saat ini, termasuk
didalamnya Symbian, iPhone, Windows Mobile, BlackBerry, Java
Mobile Edition, Linux Mobile (LiM), dan banyak lagi. Namun ada
beberapa hal yang menjadi kelebihan Android. Walaupun beberapa
fitur-fitur yang ada telah muncul sebelumnya pada platform lain, Android
adalah yang pertama menggabungkan hal seperti berikut:
1. Keterbukaan, Bebas pengembangan tanpa dikenakan biaya
terhadap system karena berbasiskan Linux dan open source.
Pembuat perangkat menyukai hal ini karena dapat membangun
platform yang sesuai yang diinginkan tanpa harus membayar
royality. Sementara pengembang software menyukai karena
android dapat digunakan diperangkat manapun dan tanpa terikat
oleh vendor manapun.
2. Arsitektur komponen dasar android terinspirasi dari teknologi
internet Mashup. Bagian dalam sebuah aplikasi dapat digunakan
oleh aplikasi lainnya, bahkan dapat diganti dengan komponen lain
yang sesuai dengan aplikasi yang dikembangkan.
3. Banyak dukungan service, kemudahan dalam menggunakan
berbagai macam layanan pada aplikasi seperti penggunaan
layanan pencarian lokasi, database SQL, browser dan penggunaan
peta. Semua itu sudah tertanam pada android sehingga
memudahkan dalam pengembangan aplikasi.
4. Siklus hidup aplikasi diatur secara otomatis, setiap program
terjaga antara satu sama lain oleh berbagai lapisan keamanan,
sehingga kerja system menjadi lebih stabil. Pengguna tak perlu
kawatir dalam menggunakan aplikasi pada perangkat yang
5. Dukungan grafis dan suarat terbaik, dengan adanya dukungan 2D
grafis dan animasi yang diilhami oleh Flash menyatu dalam 3D
menggunakan OpenGL memungkinkan membuat aplikasi
maupun game yang berbeda.
6. Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat
yang ada saat ini maupun yang akan datang. Semua program
ditulis dengan menggunakan bahas pemrograman Java dan
dieksekusi oleh mesin virtual Dalvik, sehingga kode program
portabel antara ARM, X86, dan arsitektur lainnya. Sama halnya
dengan dukungan masukan seperti penggunaan Keyboard, layar
sentuh, trackball dan resolusi layar semua dapat disesuaikan
dengan program.
2.5.5 Kekurangan Android
Tak bisa dipungkiri disamping kelebihan tentu saja ada kekurangan
dari sistem operasi ini.
1. Koneksi Internet yang terus menerus – Yups, kebanyakan ponsel
berbasis system ini memerlukan koneksi internet yang simultan alias
terus menerus aktif.Koneksi internet GPRS selalu aktif setiap waktu, itu
artinya Anda harus siap berlangganan paket GPRS yang sesuai dengan
kebutuhan.
2. Iklan – Aplikasi di Ponsel Android memang bisa didapatkan dengan
mudah dan gratis, namun konsekuensinya di setiap Aplikasi tersebut,
akan selalu Iklan yang terpampang, entah itu bagian atas atau bawah
aplikasi.
2.6Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment)
untuk mengembangkan perangkat lunak dan dapat dijalankan di semua
platform (platform-independent). Berikut ini adalah sifat dari Eclipse:[6]
1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft
2. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman
Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis
bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP,
dan lain sebagainya.
3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse
pun bisa digunakan untuk aktivitas dalam siklus pengembangan
perangkat lunak, seperti dokumentasi, test perangkat lunak,
pengembangan web, dan lain sebagainya.
4. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan
gratis dan open source, yang berarti setiap orang boleh melihat kode
pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse
yang membuatnya populer adalah kemampuannya untuk dapat
dikembangkan oleh pengguna dengan komponen yang dinamakan
plug-in.[3]
2.6.1 Arsitektur Eclipse
Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel,
yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse
sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan
basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini
adalah komponen yang membentuk RCP:
a. Core platform
b. OSGi
c. SWT (Standard Widget Toolkit)
d. JFace
e. Eclipse Workbench
Secara standar Eclipse selalu dilengkapi dengan JDT (Java
Development Tools), plug-in yang membuat Eclipse kompatibel untuk
mengembangkan program Java, dan PDE (Plug-in Development
Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in
Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas
(extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik[4]. Jadi,
Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat
digunakan untuk berbagai macam keperluan, cukup dengan menginstal
plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++
terdapat plug-in CDT (C/C++ Development Tools).
Selain itu, pengembangan secara visual bukan hal yang tidak
mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram
UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai
dengan keinginannya.
2.6.2 Android SDK
Android SDK adalah tools API (Application Programming
Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada
platform android menggunakan bahasa pemrograman Java. Android
merupakan subset perangkat lunak untuk ponsel yang meliputi sistem
operasi, middleware dan aplikasi kunci yang di release oleh Google. Saat ini
disediakan Android SDK (Software Development Kit) sebagai alat bantu dan
API untuk mulai mengembangkan aplikasi pada platform android
menggunakan bahasa pemrograman Java. Sebagai platform aplikasi-netral,
android member anda kesempatan unutk membuat aplikasi yang kita
butuhkan yang bukan merupakan aplikasi bawaan Hadphone/Smartphone.
Beberapa fitur-fitur android yang paling penting adalah:[4]
a.Framework : aplikasi yang mendukung pengganti komponen dan
reusable.
b.Dalvik Virtual Machine dioptimalkan untuk perangkat mobile
c.Integrated Browser verdasarkan engine open source WebKit.
d.Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D,
grafis 3Dberdasarkan spesifikasi opengl ES 1,0 (Opsional Ekselerasi
hardware)
f. Media Support yang mendukung audio, video, dan gambar (MPEG4,
H.264, MP3, AAC, AMR, JPG, PING, GIF), GSM Telephony
(tergantung Hardware)
g.Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware)
h.Kamera, GPS, Kompas, dan Accelerometer (tergantung hardware)
i. Lingkungan Development yang lengkap dan termasuk pernagkat
emulator, tools untuk debugging, profil dan kinerja memori, dan
plugin untuk IDE Eclipse.
2.6.3 Android Development Tools (ADT)
Android Development Tools (ADT) adalah plugin untuk Eclipse
Intergrated Development Environment (IDE) yang dirancang untuk
memberikan lingkungan yang terpadu di mana untuk membangun aplikasi
Android. ADT memperluas kemampuan Eclipse untuk membiarkan para
developer lebih cepat dalam membuat proyek baru Android, membuat
aplikasi UI, menambahkan komponen berdasarkan Android Framework API,
debug aplikasi dalam pengunaan Android SDK, dan membuat file APK untuk
mendistribusikan aplikasi[4]
2.7Tools-Tools yang digunakan
2.7.1 Konsep Perancangan Berorientasi Objek
Teknologi objek menganalogikan sistem aplikasi seperti kehidupan
yang didominasi oleh objek. Didalam membangun sistem berorientasi objek
akan mendaji lebih baik apabila langkah awalnya didahului dengan proses
analisis dan perancangan yang berorientasi objek. Tujuannya adalah
mempermudah programmer didalam mendesain program dalam bentuk
objek-objek dan hubungan antara objek-objek tersebut untuk kemudian dimodelkan dalam
sistem nyata.
Suatu perusahaan software yaitu Rational Software, telah membentuk
Modelling Language (UML) sebagai bahasa standar dalam Objak Oriented
Analysist Design (OOAD).[5]
2.7.1.1 Unified Modelling Language
UML (Unified Modelling Language) adalah salah satu alat bantu yang
sangat handal di dunia pengembangan sistem yang berorientasi obyek. Hal ini
disebabkan UML menyediakan bahasa pemodelan visual yang
memungkinkan bagi pengembang sistem untuk membuat cetak biru atas visi
mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan
mekanisme yang efektif untuk berbagi (sharing) dan mengkomunikasikan
rancangan mereka dengan yang lain.
UML merupakan kesatuan dari bahasa pemodelan yang
dikembangkan oleh Booch, Object Modeling Technique (OMT) dan Object
Oriented Software Engineering (OOSE). Metode Booch dari Grady Booch
sangat terkenal dengan nama metode Design Object Oriented. Metode ini
menjadikan proses analisis dan design ke dalam empat tahapan iterative,
yaitu: identifikasi kelas-kelas dan obyek-obyek, identifikasi semantic dari
hubungan obyek dan kelas tersebut, erincian interface dan implementasi.
Keunggulan metode Booch adalah pada detil dan kayanya dengan notasi dan
elemen. Pemodelan OMT yang dikembangkan oleh Rumbaugh didasarkan
pada analisis terstruktur pemodelan entity-relationship.
2.7.1.2 Use Case Diagram
Use Case adalah deskripsi fungsi dari sebuah sistem dari perspektif
pengguna. Use Case bekerja dengan cara mendeskripsikan tipikal interaksi
antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui
sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah yang
menerangkan antara pengguna dan sistem disebut scenario. Setiap scenario
mendeskripsikan urutan kejadian. Setiap urutan diinisialisasi oleh orang,
sistem yang lain, perangkat keras atau urutan waktu. Dengan demikian secara
singkat bisa dikatakan use case adalah serangkaian scenario yang
2.7.1.3 Sequence Diagram
Sequence diagram digunakan untuk menggambarkan perilaku pada
sebuah skenario. Diagram ini menunjukkan sejumlah contoh obyek dan
message yang diletakkan diantara obyek-obyek ini di dalam use case.
Sequence diagram menambahkan dimensi waktu pada interaksi diantara
obyek. Pada diagram ini participant diletakkan di atas dan waktu ditunjukkan
dari atas ke bawah. Life line participant diurutkan dari setiap participant.
Kotak kecil pada lifeline menyatakan activation, yaitu menjalankan salah satu
operation dari participant. State bisa ditambahkan dengan menambahkannya
sepanjang life line.
2.7.1.4 Activity Diagram
Activity diagram seperti sebuah flow chart. Activity diagram
menunjukkan tahapan, pengambilan keputusan dan percabangan. Diagram ini
sangat berguna untuk menunjukkan operation sebuah obyek dan proses
bisnis. Kelebihan activity diagram dibandingkan flowchart adalah
kemampuannya dalam menampilkan aktivitas parallel.
2.7.1.5 Class Diagram
Kotak adalah notasi UML untuk class. Nama, attribute, operation dan
responsibility dari class ada pada kotak tersebut. Stereotype bisa
dipergunakan untuk mengorganisasikan daftar attribute dan operation. Dalam
beberapa kasus, kadangkala hanya perlu ditampilkan sebagain saja dari
attribute dan operation.
Tipe attribute dan nilai default bisa dimunculkan sebagaimana pada
operation. Untuk mengurangi ambiguitas pada pendeskripsian class,
constraint bisa ditambahkan. Bahkan kalau perlu bisa ditambahkan attribute
notes ke dalam kotak tersebut.[5]
2.8Pengenalan Teorema Trigonometri
Trigonometri (dari bahasa yunani trigonon = tiga sudut dan metro =
segitiga dan fungsi trigonometrik seperti sinus, cosinus, dan tange.
Trigonometri memiliki hubungan dengan geometri, meskipun ada
ketidaksetujuan tentang apa hubungannya. bagi beberapa orang, trigonometri
adalah bagian dari geometri.
Matematikawan Yunani Hipparchus sekitar 150 SM menyusun tabel
trigonometri untuk menyelesaikan segitiga. Matematikawan Yunani lainnya,
Ptolemy sekitar tahun 100 mengembangkan penghitungan trigonometri lebih
lanjut. Matematikawan SilesiaBartholemaeus Pitiskus menerbitkan sebuah
karya yang berpengaruh tentang trigonometri pada 1595 dan
memperkenalkan kata ini ke dalam bahasa Inggris dan Perancis.
Ada banyak aplikasi trigonometri. Terutama adalah teknik triangulasi
yang digunakan dalam astronomi untuk menghitung jarak ke bintang-bintang
terdekat, dalam geografi untuk menghitung antara titik tertentu, dan dalam
sistem navigasi satelit. Bidang lainnya yang menggunakan trigonometri
termasuk astronomi (dan termasuk navigasi, di laut, udara, dan angkasa), teori
musik, akustik, optik, analisis pasar finansial, elektronik, teori probabilitas,
statistika, biologi, pencitraan medis/medical imaging (CAT scan dan
ultrasound), farmasi, kimia, teori angka (dan termasuk kriptologi),
seismologi, meteorologi, oseanografi, berbagai cabang dalam ilmu fisika,
survei darat dan geodesi, arsitektur, fonetika, ekonomi, teknik listrik, teknik
mekanik, teknik sipil, grafik komputer, kartografi, kristalografi.
Trigonometri terdiri dari sinus (sin), cosinus (cos), tangens ( tan),
cotangens (cot), secan (sec) dan cosecan (cosec). Trigonometri merupakan
nilai perbandingan yang didefinisikan pada koordinat kartesius atau segitiga
Tabel 2.2 Sudut-sudut Trigonometri
1. Gambar 2.4 memperlihatkan simulasi pada saat pengguna melakukan
pengambilan sudut atas pada objek, pada saat pengambilan sudut,
posel tidak boleh bergeser agar nilai yang diambil akurat. Berikut
rumus mencari alpha setalah mendapatkan nilai koordinat kemiringan
ponsel pada titik atas objek.
= acos( � �
� � 2+� � 2+� � 2) (2.1)
Gambar 2.4 Simulasi Pengambilan Sudut Atas Objek
2. Gambar 2.5 memperlihatkan simulasi pada saat pengguna melakukan
pengambilan sudut bawah pada objek, pada saat pengambilan sudut,
posel tidak boleh bergerak agar nilai yang diambil akurat. Berikut
rumus mencari beta setalah mendapatkan nilai koordinat kemiringan
= acos( �� ℎ
�� ℎ2+�� ℎ2+�� ℎ2) (2.2)
Gambar 2.5 Simulasi Pengambilan Sudut Bawah Objek
3. Setelah mendapatkan nilai alpha dan beta, maka dapat dicari tinggi
atas dan tinggi bawah dengan memasukan jarak objek secara manual
( ). Berikut rumus untuk mencari
Tinggi atas = tan ( )∗
Tinggi bawah = tan ( )∗
4. Gambar 2.6 Simulasi setelah mendapatkan tinggi atas dan tinggi
bawah. Berikut rumus yang diterapkan untuk mancari tinggi objek.
(Tinggi objek = tinggi atas + tinggi bawah)
Gambar 2.6 Simulasi Untuk Mencari Tinggi Objek
2.9Pengukuran Kesalahan Peramalan MAD
Sebuah notasi matematika dikembangkan untuk menunjukkan periode
waktuyang lebih spesifik karena metode kuantitatif peramalan sering kali
memperlihatkandata runtun waktu. Huruf Y akan digunakan untuk
menotasikan sebuah variabel runtun waktu meskipun ada lebih dari satu
ditunjukkan sebagai tanda. Oleh karena itu, Ytmenunjukkan nilai dari runtun
waktu pada periode waktu t.
Notasi matematika juga harus dikembangkan untuk membedakan
antarasebuah nilai nyata dari runtun waktu dan nilai ramalan. � akan
diletakkan di atassebuah nilai untuk mengindikasi bahwa hal tersebut sedang
diramal. Nilai ramalanuntuk Yt adalah Ŷt . Ketepatan dari teknik peramalan
sering kali dinilai denganmembandingkan deret asli Y1 , Y2 , … dengan deret
nilai ramalan Ŷ1 ,Ŷ2 ,…[7]
NOTASI DASAR PERAMALAN
�� = ��−Ŷt (2.3)
Notasi peramalan dapat diringkas sebagai berikut:
Yt : nilai data time series pada periode t
Ŷt : nilai ramalan dari Ŷt
��= ��−Ŷ�: sisa atau kesalahan ramalan.
Beberapa metode lebih ditentukan untuk meringkas kesalahan (error)
yangdihasilkan oleh fakta (keterangan) pada teknik peramalan. Sebagian
besar daripengukuran ini melibatkan rata-rata beberapa fungsi dari perbedaan
antara nilai aktualdan nilai peramalannya. Perbedaan antara nilai observasi
dan nilai ramalan ini seringdimaksud sebagai residual.
Persamaan di bawah ini digunakan untuk menghitung error atau sisa
untuktiap periode peramalan.
Satu metode untuk mengevaluasi metode pengukuran tinggi objek
menggunakan jumlah kesalahan-kesalahan yang absolute. The Mean Absolut
Deviation (MAD) mengukur ketepatan tinggi objek dengan merata- rata
kesalahan dugaan (nilai absolute masing-masing kesalahan). MAD paling
berguna ketika orang yang menganalisa ingin mengukur kesalahan dalam
mengukur tinggi objek dalam unit yang sama sebagai deret asli.[7]
2.10 Perancangan Kuesioner
Perancangan kuesioner dilakukan sebelum melakukan pengumpulan
data dengan tujuan untuk mendapatkan kuesioner yang baik. Kuesioner
yang digunakan dalam penelitian ini adalah kuesioner yang mempunyai
bentuk terstruktur langsung, dimana alternative jawaban responden telah
disusun sedemikian rupa sehingga responden dan memberikan sekumpulan
alternatif yang sifatnya mutually exclusive yaitu hanya satu alternatif yang
dapat dipilih dan mutually exhhastive yaitu kumpulan alternatif yang
diberikan sudah mencakup semua kemungkinan sesuai dengan responden
pada pertanyaan yang diajukan. Kuesioner yang dpergunakan pada
penelitian ini terdiri dari dua jenis skor pengukuran yaitu : [8]
1. Skor kuesioner untuk data umum
Pengukuran data umum dalam penelitian ini menggunakan skala
norminal, dimana angka yang diberikan kepada objek mempunyai arti
sebagai label saja, dan tidak menunjukkan tingkatan maupun urutan antara
kategori-katagori dalam ukuran itu.
Tabel 2. 3 Skor Kuesioner
Ketegori Jawaban Bobot
Sangat Setuju 5
Setuju 4
Kurang Setuju 3
Tidak Setuju 2
Sangat Tidak Setuju 1
2. Perhitungankuesioner
Data dianalisis dengan menghitung rata-rata jawaban berdasarkan
scoring setiap jawaban dari responden kemudian dijumlahkan lalu
digambarkan secara kontinum, perhitungan dapat dilakukan secara manual
menggunakan penskoran skala likert yaitu :
Jumlah skor = Jumlah responden x Skor bobot (2.5)
33
untuk mendapatkan aplikasi yang baik dan bersesuaian dengan kegunaan dan
tujuannya. Tahap awal dari analisis adalah menganalisis kebutuhan-kebutuhan
sistem mulai dari kebutuhan pengguna, kebutuhan non fungsional, dan
kebutuhan fungsional. Sedangkan untuk tahap perancangan aplikasi yaitu
perancangan sistem, dan perancangan antarmuka.
3.1 Analisis Sistem
Analisis sistem merupakan kegiatan penguraian suatu sistem
informasiyang utuh dan nyata ke dalam bagian-bagian atau
komponen-komponen komputer yang bertujuan untuk mengidentifikasi serta mengevaluasi
masalah-masalah yangmuncul, hambatan-hambatan yang akan mungkin terjadi
dan kebutuhan-kebutuhanyang diharapkan sehingga mengarah kepada solusi
untuk perbaikanmaupun pengembangan ke arah yang lebih baik dan sesuai
dengan kebutuhanserta perkembangan teknologi. Adapun tahapan-tahapan yang
ada pada analisa sistem ini meliputi: analisis masalah, analisis metode, analisis
kebutuhan sistem.
3.1.1 Analisis Masalah
Analisis masalah dilakukan dengan menguraikan masalah-masalah yang
terjadi sehingga permasalahan ini dapat diketahui melalui hasil dari membaca
buku dan referensi melalui website. Berikut ini adalah hasil analisis masalah
yang didapat:
1. Keterbatasan alat ukur dan kondisi yang digunakan pada objek
yang tinggi seperti menara dan gedung, sehingga menyulitkan
pada saat pengukuran.
2. Pengukuran ketinggian hanya bisa dilakukan oleh ahli, sehingga
tidak sembarang orang dapat melakukan pengukuran dengan
3.1.2 Analisis Metode
Analisis metode digunakan untuk mengetahui alur proses dari sebuah
metode yang digunakan dapat diterapkan ke dalam aplikasi yang dibangun.
Pembangunan aplikasi ini menggunakan metode Trigonometri dengan
memanfaatkan accelerometer pada sistem operasi android untuk mempermudah
dalam perhitungan tinggi objek.
3.1.2.1Analisis Sistem yang akan dibangun
Sistem yang akan dibangun adalah sistem aplikasi pengukuran tinggi
objek. Aplikasi ini dapat mengukur tinggian objek dari yang paling rendah
sampai yang paling tinggi dengan memanfaatkan sensor accelerometer yang
terdapat pada sistem operasi android untuk mencari nilai koordinat kemiringan
ponsel, adapun gambaran umum tentang sistem yang akan dibanguna dapat
dilihat pada gambar dibawah ini
Gambar 3.1 Analisi Sistem yang akan dibangun
Berikut penjelasan alur proses sistem yang akan dibangun:
1. Pengguna mengarahkan titik fokus untuk mencari titik koordinat
kemiringan posel dengan memanfaatkan sensor accelerometer yang
terdapat pada sistem operasi android.
2. Sistem mencari titik koordinat kemiringan ponsel
3. Setelah mendapatkan nilai koordinat kemiringan pengguna dapat
mengambil dengan mengklik capture yang terdapat pada aplikasi
5. Pengguna dapat memasukkan jarak posel dengan jaral objek yang
akan dicari tingginya
6. Pengguna dapat pengklik perhitungan untuk mencari tinggi
objekSistem memproses perhitungan dan menampilkan hasil nilai
tinggi objek
3.1.2.2 Analisis Accelerometer
Accelerometer modern tidak lain adalah MEMS (micro electro
mechanical system) berskala kecil. Accelerometer adalah suatu alat untuk
mengukur percepatan, mendeteksi dan mengukur getaran, atau untuk mengukur
percepatan garvitasi(inklinasi).
Pengukuran bisa secara analog maupun digital. Accelerometer dapat
digunakan untuk mengukur percepatan baik statis maupun dinamis.
Accelerometer akan mengalami percepatan dalam kisara dari -1g sampai +1g
(9.8m/s), dan hinggan kemiringan 180°.
Pada smartphone accelerometer merupakan sensor yang bisa
membaca pergerakan sehingga dapat mengubah tampilan layar dari posisi
landscape ke portrait atau sebaliknya dengan cukup memiringkan badan
ponsel secara otomatis, berikut nilai-nilai kemiringan sensor accelerometer
Z = 0.00 Z = 0.00 Z = 0.00 Z = 0.00
3.1.2.3 Analisis Metode Trigonometri
Objek yangdijadikan ilustrasi adalah tinggi pintu 2.4m yang diukur
dengan alat meteran, dan akan dibandingkan dengan metode trigonometri
yang terdapat pada aplikasi pengukuran tinggi objek dengan memanfaatkan
Analisi metode trigonometri pada aplikasi pengukuran tinggi objek
dengan memanfaatkan accelerometer pada sistem operasi android, untuk
mendapatkan tinggi objek pengguna harus mencari koordinat (x,y,z)
kemiringan ponsel dengan memanfaatkan sensor accelerometer yang terdapat
pada ponsel dan pengguna memasukkan jarak ponsel dengan objek r = 1 m
Setelah mendapatkan nilai koordinat kemiringan titik atas dan titik
bawah maka dapat dicari alpha dan beta tinggi objek terlebih dahulu dengan
rumus sebagai berikut
1. Mencari Nilai Alpha
= acos ��
�� 2 + �� 2 + �� 2
= acos 5.29
5.292 + 0.382+ (−7.782)
= acos 0.561
= 55.818
2. Mencari Nilai Beta
= acos �� �� �
�� �� �2 + �� �� �2 + �� �� �2
= acos 7.36
7.362 + (−0.112) + 6.862
= acos 0.731
Setelah itu dapat dimasukkan jarak objek dengan ponsel secara manual
dengan jarak r = 1
Setelah mendapatkan nilai alpha dan beta makan akan dicari nilai tinggi
atas dan nilai tinggi bawah dengan menggunakan rumus sebagai berikut,
3. Tinggi Atas
dijemlahkan untuk mengetahui tinggi objek tersebut dengan rumur sebagai
berikut
Tinggi objek = tinggi atas + tinggi bawah
Tinggi objek = 1.4724 + 0.9321 = 2.4045 (m)
3.1.3 Analisis Kebutuhan Sistem
Kebutuhan sistem yang diperlukan dan yang digunakan dalam
pembuatan sistem ini terdiri dari beberapa bagian, yaitu: kebutuhan fungsional
dan kebutuhan non fungsional.
Tabel 3.1 Kebutuhan Fungsional
Nomor Keterangan
SKPL-F-01 Sistem dapat menghasilkan kemiringan ponsel dengan memanfaatkan sensor accelerometer SKPL-F-02 Sistem dapat menghasilkan tinggi objek dari
hasil kemiringan ponsel
Tabel 3.2 Kebutuhan Non-Fungsional
Nomor Keterangan
SKPL-NF-01 Sistem dibangun dalam bentuk aplikasi mobile SKPL-NF-02 Sistem dapat dijalankan pada ponsel android
minimal versi 2.1 (froyo)
SKPL-NF-03 Pada ponselharus memiliki kamera belakang SKPL-NF-04 Ponselharus memiliki sensor accelerometer