TUGASAKHIR
Oleh :
ALFAN RIZQI FIRDAUS
NPM : 0834010005
JURUSANTEKNIKINFORMATIKA FAKULTASTEKNOLOGIINDUSTRI
UNIVERSITASPEMBANGUNANNASIONAL “VETERAN” JAWATIMUR SURABAYA
Segala puji penulis panjat kepada Allah SWT yang sudah memberikan
rahmat dan bimbingan-Nya, sehingga saya mampu menyelesaikan tugas
akhir/skripsi yang berjudul “Aplikasi Penguji Dan Analisis Kinerja Multitouch
Tester Berbasis Gambar Pada Android Gingerbread Dan Honeycomb” dengan tepat waktu.
Tugas akhir/skripsi dengan beban 4 SKS ini merupakan salah satu syarat
untuk menyelesaikan program Strata Satu (S1) pada program studi Teknik
Informatika, Fakultas Teknologi Industri di Universitas Pembangunan Nasional
Veteran Jawa Timur.
Penulis mengucapkan terima kasih yang sebesar-besarnya kepada
pihak-pihak yang telah membantu baik moral maupun materil untuk menyelsaikan
penulisan tugas akhir/skripsi ini, terutama kepada :
1. (Bapak. Ir.Sutiyono, MT) selaku DEKAN FTI UPN VETERAN JAWA
TIMUR yang telah memberikan ijin untuk melaksanakan tugas
akhir/skripsi.
2. (Ibu Dr. Ir. Ni Ketut Sari, MT, ) selaku Kepala Program Studi Teknik
Informatika, FTI UPN VETERAN JAWA TIMUR
3. (Bapak Barry Nuqoba, S. Si, M. Kom dan Bapak Faisal Muttaqin, S. Kom)
selaku dosen pembimbing satu dan dua, yang telah meluangkan waktu
untuk memberikan bimbingan selama proses pelaksanaan tugas
5. (Aisatuz Zahroh) selaku orang tua saya yang selalu memberikan semangat
dan kekuatan dalam mengerjakan tugas akhir/skripsi ini
6. (Ayunda Wilujeng) selaku kekasih tercinta yang selalu memberikan waktu
dan semangat kepada saya dalam mengerjakan tugas akhir/skripsi ini
7. Tidak lupa penulis mengucapkan terima kasih kepada teman-teman yang
tidak dapat disebutkan satu persatu, atas segala bantuannya dalam
menyelesaikan tugas akhir/skripsi ini penulis ucapkan terima kasih
Penulis menyadari sepenuhnya bahwa dalam pembuatan laporan
skripsi/tugas akhir ini banyak kekurangan yang terjadi. Sehingga penulis
menginginkan saran dan kritik yang membangun bagi penyusunan laporan
skripsi/tugas akhir ini.
Dengan ridho Allah SWT, semoga laporan skripsi/tugas akhir ini dapat
bermanfaat bagi semua, baik yang membaca maupun yang hendak ingin
menyelesaikan skripsi/tugas akhir.
Surabaya, Maret 2012
HALAMAN JUDUL
LEMBAR PENGESAHAN
LEMBAR PENGESAHAN DAN PERSETUJUAN
KETERANGAN REVISI
c. Pembuatan algoritma dan program ... 5
d. Pengujian ... 5
e. Penulisan buku tugas akhir ... 5
2.2.ADT (Android Developtment Tools) ... 10
2.3.Eclipse Indigo ... 10
2.3.1. Sejarah Eclipse ... 11
2.3.2. Arsitektur Eclipse ... 13
2.3.3. User Interface Eclipse ... 14
2.4.Konsep Pengolahan Citra Digital ... 16
2.4.1. Citra Digital ... 17
2.4.1.1.Metodologi Citra Digital ... 17
2.5.Konsep Aljabar Linier dan Matriks ... 18
2.5.1. Sistem Persamaan Linear ... 18
2.5.1.1. Sistem n X n ... 19
2.5.2. Konsep Algoritma Aljabar Matriks ... 22
2.5.2.1.Matriks ... 22
2.5.3. Konsep Transformasi Matriks ... 23
2.5.4. Konsep Translasi Matriks ... 24
2.5.5. Konsep Rotasi Matriks ... 25
2.5.5.1.Rotasi Terhadap Titik Pusat O (0,0) ... 26
2.5.5.2.Rotasi Terhadap Titik Pusat P(a,b) ... 27
2.5.6. Konsep Skala Matriks ... 27
BAB III PERANCANGAN SISTEM ... 28
3.1.Analisis Aplikasi ... 28
3.3.1.1.Kebutuhan Pengguna ... 33
3.3.1.2.Kebutuhan Emulator ... 36
3.3.2. Spesifikasi Alur Aplikasi Pada Emulator ... 36
3.3.2.1.Proses Kompatibilitas... 37
3.3.2.2.Proses Kemampuan Touch Event ... 38
3.3.3. Spesifikasi Alur Aplikasi Pada Devices ... 38
3.3.3.1.Proses Touch Event Tester ... 38
3.3.3.2.Proses Touch Terhadap Gambar ... 39
3.3.3.3.Proses Aktivitas Terhadap Gambar ... 40
3.3.4. Flowchart Touch Event Pada Emulator ... 42
3.3.5. Flowchart Touch Event Pada Devices ... 45
3.3.6. Flowchart Rotasi Pada Devices ... 48
3.3.7. Flowchart Zoom In Zoom Out Pada Devices ... 51
3.3.8. Flowchart Multitouch Pada Devices ... 55
3.3.9. UML (Unified Modelling Language) Aplikasi ... 60
3.4.Rancangan Antar Muka ... 60
3.4.1. Antarmuka Pada Sisi Emulator ... 61
3.4.2. Antarmuka Pada Sisi Devices Smartphone ... 62
3.4.3. Antarmuka pada sisi Devices Tablet ... 62
BAB IVIMPLEMENTASI ... 64
4.1.Kebutuhan Aplikasi ... 64
4.2.2. Tampilan Touch Event Pada Emulator ... 65
4.2.3. Tampilan Tambah Gambar Pada Emulator ... 66
4.2.4. Tampilan Memindahkan Gambar Pada Emulator ... 67
4.2.5. Tampilan Utama Pada Devices Smartphone ... 68
4.2.6. Tampilan Touch Event Pada Smartphone ... 68
4.2.7. Tampilan Tambah Gambar Pada Smartphone ... 69
4.2.8. Tampilan Memindahkan Gambar Pada Smartphone ... 70
4.2.9. Tampilan Rotasi Gambar Pada Smartphone ... 70
4.2.10.Tampilan Zoom in dan Zoom out Pada Smartphone ... 71
4.2.11.Tampilan Multitouch Pada Smartphone ... 72
4.2.12.Tampilan Utama Pada Devices Tablet ... 72
4.2.13.Tampilan Touch Event Pada Tablet ... 73
4.2.14.Tampilan Tambah Gambar Pada Tablet ... 73
4.2.15.Tampilan Memindahkan Gambar Pada Tablet ... 74
4.2.16.Tampilan Rotasi Gambar Pada Tablet ... 74
4.2.17.Tampilan Zoom in dan Zoom out Pada Tablet ... 75
4.2.18.Tampilan Multitouch Pada Tablet ... 75
4.3.Implementasi Source Code ... 76
4.3.3. Implementasi Algoritma Rotasi ... 81
4.3.4. Implementasi Algoritma Perpindahan Gambar ... 82
BAB VHASIL DAN PEMBAHASAN ... 83
5.1. Lingkungan Uji Coba ... 83
5.1.1. Uji Coba Pada Emulator ... 83
5.1.2. Uji Coba Pada Handphone ... 84
5.1.3. Uji Coba Pada Tablet ... 84
5.1.4. Uji Coba Pada Tablet ... 85
5.2.Aplikasi Pembanding... 85
5.3.Skenario Uji Coba ... 86
5.3.1. Uji Coba Pada Emulator ... 89
5.3.2. Uji Coba Pada Handphone ... 95
5.3.3. Uji Coba Pada TabletLG Optimus Pad ... 103
5.3.4. Uji Coba Pada Tablet Samsung Galaxy Tab 10.1 .. 109
BAB VIPENUTUP ... 119
6.1.Kesimpulan ... 119
6.2.Saran ... 120
Tabel 2.1 Ketentuan Rotasi Matriks ... 26
Tabel 3.1 Perbedaan Aplikasi Pada Emulator Dan Pada Devices ... 44
Tabel 5.1 Spesifikasi Handphone Pengujian ... 84
Tabel 5.2 Spesifikasi Tablet Pengujian ... 84
Tabel 5.3 Spesifikasi Tablet Pengujian ... 85
Tabel 5.4 Pengujian Kompatibel Aplikasi Pada Emulator ... 89
Tabel 5.5 Pengujian Touch Pada Emulator ... 91
Tabel 5.6 Pengujian Move Pada Emulator ... 92
Tabel 5.7 Pengujian Rotasi Pada Emulator ... 93
Tabel 5.8 Pengujian Zoom Pada Emulator ... 94
Tabel 5.9 Pengujian Multitouch Pada Emulator ... 95
Tabel 5.10 Hasil Pengujian Pada Emulator... 97
Tabel 5.11 Hasil Pengujian Touch Event Pada Handphone ... 97
Tabel 5.12 Hasil Pengujian Aplikasi Pembanding ... 98
Tabel 5.13 Hasil Pengujian Move Gambar ... 99
Tabel 5.14 Hasil Pengujian Move Gambar Pada Aplikasi Pembanding ... 100
Tabel 5.15 Hasil Pengujian Rotasi Gambar ... 100
Tabel 5.16 Hasil Pengujian Pada Aplikasi Pembanding ... 101
Tabel 5.17 Hasil Pengujian Zoom In dan Zoom Out ... 101
Tabel 5.18 Hasil Pengujian Pada Aplikasi Pembanding ... 102
Tabel 5.19 Hasil Pengujian Aplikasi Pada Handphone ... 102
Tabel 5.23 Hasil Pengujian Rotasi Gambar ... 108
Tabel 5.24 Hasil Pengujian Zoom In dan Zoom Out ... 108
Tabel 5.25 Hasil Pengujian Aplikasi Pada Tablet ... 109
Tabel 5.26 Hasil Pengujian Aplikasi Pembanding Pada Tablet ... 110
Tabel 5.27 Hasil Pengujian Touch Event Pada Tablet ... 112
Tabel 5.28 Hasil Pengujian Move Gambar ... 113
Tabel 5.29 Hasil Pengujian Rotasi Gambar ... 114
Tabel 5.30 Hasil Pengujian Zoom In dan Zoom Out ... 114
Tabel 5.31 Hasil Pengujian Aplikasi Pada Tablet ... 115
Tabel 5.32 Hasil Data Alokasi Penggunaan RAM Pada Smartphone ... 116
Gambar 2.1 Aplikasi Android SDK ... 8
Gambar 2.2 Aplikasi AVD Manager (Android Virtual Devices) Manager ... 8
Gambar 2.3 Aplikasi Emulator Android2.3.5 Gingerbread ... 9
Gambar 2.4 Logo Eclipse Indigo ... 11
Gambar 2.5 User Interfaces Eclipse Indigo ... 14
Gambar 2.6 Eclipse Yang Sudah Terpasang ADT (Android Developtment Tools) ... 16
Gambar 3.1 Handphone Android LG Optimus 2X ... 34
Gambar 3.2 Android Tablet LG Optimus Pad ... 35
Gambar 3.3 Proses Kompatibilitas Android pada Emulator ... 37
Gambar 3.4 Proses Touch Event ... 39
Gambar 3.5 Proses Touch Terhadap Gambar ... 40
Gambar 3.6 Proses Touch Activity Pada Aplikasi ... 41
Gambar 3.7 Flowchart Aplikasi Multitouch Tester ... 43
Gambar 3.8 Proses Algoritma Touch Event ... 46
Gambar 3.9 Proses Touch Event ... 47
Gambar 3.10 Proses Rotasi dan Move gambar ... 48
Gambar 3.11 Proses Rotasi Gambar ... 49
Gambar 3.12 Proses Zoom In dan Zoom Pada Image ... 50
Gambar 3.13 Alur Aplikasi Zoom In Dan Zoom Out ... 52
Gambar 3.17 Antar Muka Pada Devices Emulator ... 61
Gambar 3.18 Antarmuka Pada Devices Smartphone ... 62
Gambar 3.19 Antarmuka Pada Devices Tablet ... 63
Gambar 4.1 Tampilan Pada Emulator ... 65
Gambar 4.2 Tampilan Utama Pada Emulator Menggunakan Touch Event ... 66
Gambar 4.3 Tampilan Tambah Gambar Pada Emulator ... 67
Gambar 4.4 Tampilan Memindahkan Gambar Pada Emulator ... 67
Gambar 4.5 Tampilan Utama Pada Devices Smartphone ... 68
Gambar 4.6 Tampilan Touch Event Pada Smartphone ... 69
Gambar 4.7 Tampilan Tambah Gambar Pada Smartphone ... 69
Gambar 4.8 Tampilan Memindahkan Gambar Pada Smartphone ... 70
Gambar 4.9 Tampilan Rotasi Gambar Pada Aplikasi ... 71
Gambar 4.10 Tampilan Zoom In Dan Zoom Out Pada Smartphone ... 71
Gambar 4.11 Tampilan Multitouch Pada Smartphone ... 72
Gambar 4.12 Tampilan Utama Pada Tablet ... 72
Gambar 4.13 Tampilan Touch Event Pada Tablet ... 73
Gambar 4.14 Tampilan Tambah Gambar Pada Devices Tablet ... 73
Gambar 4.15 Tampilan Memindah Gambar Pada Tablet ... 74
Gambar 4.16 Tampilan Rotasi Gambar pada Tablet ... 74
Gambar 4.17 Tampilan Zoom In Dan Zoom Out Pada Tablet ... 75
Gambar 4.20 Implementasi Penggambaran Titik Merah
Pada Aplikasi ... 77
Gambar 4.21 Implementasi Algoritma Pemanggilan Touch Event Pada Class Multitouch ... 78
Gambar 4.22 Implementasi Algoritma Zoom In dan Zoom Out Pada Class Photo ... 79
Gambar 4.23 Implementasi Pemanggilan Algoritma Zoom Pada Aplikasi ... 80
Gambar 4.24 Implementasi Algoritma Rotasi Pada Class Photo ... 81
Gambar 4.25 Algoritma Implementasi Pergerakan Gambar Pada Aplikasi ... 82
Gambar 5.1 Handphone LG Optmus 2X atau LG-P990 ... 84
Gambar 5.2 Tablet LG Optimus Pad atau LG-V900 ... 84
Gambar 5.3 Tablet Samsung Galaxy Tab 10.1 ... 85
Gambar 5.4 Aplikasi Pembanding Multitouch Tester ... 86
Gambar 5.5 Cara Melakukan Zoom In ... 87
Gambar 5.6 Cara Melakukan Zoom Out ... 87
Gambar 5.7 Cara Melakukan Rotasi Gambar ... 88
Gambar 5.8 Cara Melakukan Rotasi Gambar ... 88
Gambar 5.9 Cara Melakukan Multitouch... 89
Gambar 5.10 Uji Touch Event ... 91
Touch ... 96
Gambar 5.14 Pengujian Tambah Gambar ... 97
Gambar 5.15 Pengujian Move Gambar ... 98
Gambar 5.16 Pengujian Pada Aplikasi Pembanding... 98
Gambar 5.17 Pengujian Rotasi Gambar ... 99
Gambar 5.18 Pengujian Zoom In ... 100
Gambar 5.19 Pengujian Zoom Out ... 101
Gambar 5.20. Pengujian Touch Pada Tablet ... 103
Gambar 5.21 Pengujian Tambah Gambar ... 104
Gambar 5.22 Pengujian Move Gambar ... 105
Gambar 5.23 Pengujian Rotasi Gambar ... 106
Gambar 5.24 Pengujian Zoom In ... 107
Gambar 5.25 Pengujian Zoom Out ... 107
Gambar 5.26. Pengujian Touch Pada Tablet ... 110
Gambar 5.27 Pengujian Tambah Gambar ... 111
Gambar 5.28 Pengujian Move Gambar ... 111
Gambar 5.29 Pengujian Rotasi Gambar ... 112
Gambar 5.30 Pengujian Zoom In ... 113
Dosen Pembimbing I : Barry Nuqoba, S.Si, M. Kom Dosen Pembimbing II : Faisal Muttaqin, S. Kom
ABSTRAK
Android adalah sistem operasi yang pertama kali dibuat oleh Google
dibawah lisensi AndroidCoorperation, dimana Android merupakan sistem yang berbasis Opensources dan menggunakan Kernel Linux 2.6.32.9 untuk versi
Gingerbread (2.3) atau 2.6.36.3+ untuk versi Honeycomb (3.0 keatas). Fitur
multitouch adalah fitur yang ada pada Android mulai versi 2.2 Froyo, fitur ini merupakan salah satu yang harus ada pada Android terutama pada perangkat layar sentuh.
Dalam mengembangkan aplikasi ini menggunakan beberapa tools dan algoritma yaitu Eclipse, Android SDK, Algoritma Matriks tentang Skala, Rotasi dan Translasi. Sehingga tools dan algoritma yang sudah digunakan bisa untuk membuat aplikasi penguji multitouch berbasis gambar. Metodologi yang digunakan dalam penulisan tugas akhir ini adalah dengan menggunakan flowchart sebagai alur desain aplikasi dan algoritma serta UML untuk memberikan gambaran bentuk dari aplikasi dan aktivitas yang bisa dijalankan pada aplikasi.
Pada kasus ini dikembangkan aplikasi Multitouch Tester untuk Handphone
dan Tablet Android, dimana aplikasi ini akan berguna bagi para pengguna untuk mengetahui fitur multitouch yang ada pada Handphone dan Tabletpengguna, saat ini Multitouch pada Android terdapat 3 versi, 2 point multitouch, 5 point multitouch dan Unlimited Touch Point. Pada setiap perangkat ketika menggunakan fitur multitouch akan memakan memori yang cukup banyak, apalagi ketika menangani kurang lebih 10 gambar sekaligus untuk dikerjakan dalam waktu yang bersamaan maka pengguna bisa melakukan pengujian dengan menggunakan aplikasi Multitouch Tester berbasis gambar.
BAB I PENDAHULUAN
1.1.Latar Belakang
Menurut Android Developers(2010). Dalam beberapa waktu ini OS
Android telah mengembangkan hardware multitouch pada setiap handphone dan
tablet yang telah dirilis oleh Google dengan menyempurnakan algoritma dan
penggunaan alokasi RAM (Random Access Memory) untuk melakukan fungsi
multitouch pada suatu aplikasi. Multitouch merupakan salah satu fitur yang
disediakan oleh Google dalam memberikan kemudahan user untuk bisa
berinteraksi secara langsung kepada web, gambar, foto, video, e-book, book
reading dan lainnya yang membutuhkan fungsi multitouch, bahkan SMS (Short
Message Service) juga bisa menggunakan terapan multitouch untuk bisa
melakukan inputan SMS dengan lebih cepat.
Pembuatan aplikasi ini juga mempunyai banyak kelebihan daripada
pengujian terdahulu, dimana pengujian terdahulu membuat pengujiannya
menggunakan hanya touch saja, tetapi pada aplikasi ini pengujiannya sampai
dengan interaksi pada kinerja hardwareAndroid.
Untuk mengetahui apakah penggunaan multitouch ini sudah termasuk baik
dan juga mencukupi dalam setiap devicesAndroid maka dengan ini aplikasi
multitouch tester sudah banyak tersebar diseluruh dunia dan seluruh aplikasi
Android, tetapi pengujian multitouchperangkatnya bergantung pada point bukan
suatu obyek, maka dengan ini pembuatan aplikasi multitouch tester yang
Echtler. F, Huber. M, Klinker. G, 2008. AVI '08 Proceedings of the
working conference on Advanced visual interfaces. Dipetik pada 20 Januari 2010.
(http://www.acm.org/publications)
1.2.Perumusan Masalah
Dimana pada setiap poin yang disebutkan diatas, aplikasi ini diharapkan
mampu memberikan pemahaman pada user pemilik handphone dan tabletAndroid
yaitu:
a. Bagaimana merancang dan mengembangkan aplikasi multitouch
b. Bagaimana menguji kinerja aplikasi multitouch pada berbagai devices yang
menggunakan sistem operasi Android
.
1.3.Tujuan
Tujuan penulisan tugas akhir ini adalah untuk merancang dan membuat
aplikasi “Multitouch Tester” yang dapat bekerja pada handphone dan
tabletAndroid yang mempunyai minimum sistem operasi Froyo, Gingerbread dan
Honeycomb yang diaplikasikan dengan Obyek gambar dengan menggunakan
algoritma Citra Digital dan Algoritma Aljabar Linier dan Matrik
1.4.Manfaat
Manfaat dari pembuatan skripsi adalah untuk memberikan pengetahuan
kepada pemilik perangkatAndroid mengenai fitur multitouch, dan seberapa
maksimal penggunaan multitouch pada devicesAndroid. Seperti halnya
secara maksimal atau hanya sekedar fitur yang dikatakan tidak maksimal
penggunannya. Manfaat lainnya adalah mendapatkan fitur pengujian yang lebih
baru daripada pengujian multitouch pada aplikasi sebelumnya yakni dengan
mengguunakan obyek gambar sehingga pengguna akan mengetahui fitur
multitouch berfungsi maksimal jika menggunakan aplikasi ini.
1.5.Batasan Masalah
Batasan masalah dalam penulisan tugas akhir ini adalah sebagai berikut :
a. Bahasa yang digunakan untuk pembuatan aplikasi ini menggunakan Java
yang terintegrasi dengan Bahasa Pemrograman Android
b. Pembuatan aplikasi yang berdasarkan Android
c. Menggunakan Aplikasi Eclipse sebagai tools untuk pembuatan aplikasi
d. Menggunakan ADT dan SDK sebagai media emulator untuk pengujian
aplikasi
e. Menggunakan tablet dan handphone yang berbasisFroyo,Honeycomb dan
Gingerbread untuk melakukan pengujian terhadap alat.
1.6.Metodologi
Metodologi yang digunakan dalam penulisan tugas akhir ini adalah :
a. Studi Literatur
Multitouch adalah suatu sistem yang ada dari platformAndroid sejak dirilis
versi 2.2 (Froyo) ketika Froyo (2.2) telah sukses rilis, multitouch pada Android
pertama kali adalah hanya 2 point saja, kemudian para developer mengembangkan
menjadi 5 point multitouch, dimana point multitouch ini berasal dari beberapa
handphoneAndroid yang tidak mendukung dengan multitouch, tetapi dalam
pengertian sistem operasi Android para developer bisa mengembangkan source
code yang telah disediakan oleh Google tetapi para developer harus menyertakan
nama Google sebagai public license.
Hacking dan pemrograman C pada pemrograman kernelAndroid
merupakan salah satu hal yang vital yang harus dimiliki para developer Android,
berbeda dengan developer aplikasi Android, teknik yang harus dikuasai adalah
bahasa pemrograman java dan mengetahui struktur dari aplikasi yang akan di buat
oleh programmer aplikasi Android. Android memberikan kuasa penuh kepada
para developer OS (Operating System) dan developer aplikasi supaya
perkembangan Android bisa pesat.
Multitouch pada Android sendiri sudah berkembang pesat menjadi
unlimited touch point yaitu 10 touch point sehingga memungkinkan pengguna
untuk bisa melakukan aktivitas pada layar sentuh Android secara maksimal, tetapi
disamping unlimited touch belum digunakan secara sempurna pada semua aplikasi
Android maupun pihak developer, karena terjadi restrictatau fungsi yang
dihilangkan karena aplikasi tidak menggunakan fungsi multitouch ini pada
perangkat Android.
b. Studi Kasus
Pada tahap ini akan dianalisis multitouch pada devicesAndroid, pengujian
akan dilakukan secara langsung dengan menggunakan suatu point. Kemudian
dilakukan perancangan sistem yang lebih baik daripada pengujianpoint saja. Pada
tahap ini juga akan ditentukan metode yang tepat untuk membuat aplikasi tester
c. Pembuatan algoritma dan program
Pada tahap ini dilakukan perancangan algoritma dengan menggunakan
Aljabar linier dan matrik dan citra digital, kemudian dari algoritma yang dibuat
dilakukan pembuatan program atau aplikasi untuk perangkat keras Android.
d. Pengujian
Setelah aplikasi dibuat maka dilakukan pengujian sehingga dapat
dilakukan analisis agar diperoleh suatu aplikasi yang sesuai diharapkan. Pengujian
ini dilakukan untuk memperoleh keunggulan aplikasi yang dibuat. Pengujian akan
dilakukan dengan menggunakan perangkat smartphone dan tablet dan aplikasi
pembanding lainnya sehingga pengujian akan mengetahui letak keunggulan dari
aplikasi yang dibuat.
e. Penulisan buku tugas akhir
Setelah aplikasi tersebut diuji, maka tahap terakhir adalah pembuatan buku
tugas akhir.
1.7.Sistematika Penulisan
Laporan Tugas Akhir ini disusun dalam sistematika dan terstruktur agar
lebih mudah dipahami bagi para pembaca. Sistematika susunan laporan Tugas
Akhir ini adalah sebagai berikut :
a. BAB I PENDAHULUAN
Bab ini menjelaskan tentang pendahuluan dari tugas akhir yang meliputi
latar belakang permasalahan, tujuan, batasan masalah, metodologi
b. BAB II TEORI PENUNJANG
Bab ini menjelaskan teori-teori penunjang yang digunakan sebagai dasar
dalam penelitian tugas akhir ini yaitu teori Citra Digital dan Aljabar linier
dan matrik.
c. BAB III PERANCANGAN SISTEM
Bab ini menjelaskan tentang bagaimana teori-teori penunjang dan metode
yang sudah dijelaskan pada Bab II, dirancang agar dapat
diimplementasikan ke dalam aplikasi yang sesuai dengan harapan
d. BAB IV IMPLEMENTASI
Bab ini menjelaskan implementasi tugas kahir yang dilakukan sesuai
dengan perancangan yang telah dibuat pada bab sebelumnya
e. BAB V HASIL DAN PEMBAHASAN
Bab ini menjelaskan tentang pengujian yang dilakukan terhadap aplikasi
dalam penelitian ini dan menganalisis keunggulan aplikasi.
f. BAB VI PENUTUP
Bab ini merupakan penutup yang berisi kesimpulan yang diambil dari
BAB II
TEORI PENUNJANG
2.1.Android SDK (Software Developtment Kit)
Menurut Android Developers (2010).
Android adalah sistemoperasi untuk telepon seluler yangberbasis Linux. Android
menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi
mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya,
Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak
untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open
Handset Alliance, konsorsium dari 34 perusahaan peranti keras, perantilunak, dan
telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile
dan Nvidia,
Pada saat perilisan perdana Android, 5 November 2007, Android bersama
Open Handset Alliance menyatakan mendukung pengembangan standar terbuka
pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di
bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka
perangkat seluler.
Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama
yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS)
dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung
Gambar 2.1 Aplikasi Android SDK
Android merupakan subset perangkat lunak untuk ponsel yang meliputi
sistem operasi, middleware dan aplikasi kunci yang di publikasikan oleh Google.
Saat ini disediakan Android SDK (software Development kit) sebagai alat bantu
dan API diperlukan untuk mulai mengembangkan aplikasi pada platform Android
menggunakan bahasa pemrograman Java. Fitur dari Android SDK adalah sebagai
berikut :
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. Grafis yang dioptimalkan dan didukung oleh perpustakaan grafis 2D,
grafis 3D berdasarkan spesifikasi Opengl ES 1,0 (Opsional akselerasi
hardware).
e. SQLite untuk penyimpanan data.
f. Media Support yang mendukung audio, video, dan Gambar (MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF)
g. GSM Telephony (tergantung hardware)
h. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware)
i. Kamera, GPS, kompas, dan accelerometer (hardware tergantung)
Lingkungan Development yang lengkap dan kaya termasuk perangkat
emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk
Eclipse IDE
2.2.ADT (Android Developtment Tools)
Menurut Android Developers (2010). ADT Plugin atau Android Device
Toolkit Plugin, adalah sebuah plugin supaya IDE Eclipse bisa membuat atau
mengcompile source code menjadi *.apk, dasarnya IDE Eclipse tidak bisa
membuat Android Project, maka dari itu ADT harus terpasang, setelah terpasang
maka Eclipse akan terdapat fungsi baru yang bisa terkoneksi kepada emulator
Android, sekaligus buat menghubungkan IDE Eclipse dengan Android SDK.
2.3.Eclipse Indigo
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:
a. Multi-platformTarget sistem operasi Eclipse adalah Microsoft
Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
b. 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.
c. Multi-roleSelain 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.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis
perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer
adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan
komponen yang dinamakan plug-in. (Wikipedia, “Term”,
http://id.wikipedia.org/wiki/Eclipse_%28perangkat_lunak%29)
Gambar 2.4 Logo Eclipse Indigo
2.3.1. Sejarah Eclipse
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:
- Multi-platform: Target sistem operasi Eclipse adalah Microsoft
Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
- Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java,
pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain
sebagainya.
- 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.
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.
Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat
lunak IBM Visual Age for Java 4.0. Produk ini diluncurkan oleh IBM pada
tanggal 5 November 2001, yang menginvestasikan sebanyak US$ 40 juta untuk
pengembangannya. Semenjak itu konsursium Eclipse Foundationmengambil alih
untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya.
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development
Tools), plug-inyang membuat Eclipse kompatibel untuk mengembangkan
program Java, dan PDE (Plug-in Development Environment) untuk
mengembangkan plug-in baru. Eclipse beserta plug-in diimplementasikan dalam
bahasa pemrograman Java.
Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas
(extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi, Eclipse
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. Salah satu situs yang
menawarkan plug-in secara gratis seperti Eclipse downloads by project.
2.3.2. 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 diimplementasikan dalam
Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas
(extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. 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-insesuai dengan keinginannya. Salah satu situs yang
menawarkan plug-in secara gratis seperti Eclipse downloads by project
2.3.3. User Interface Eclipse
Eclipse memiliki user interface yang cukup bersahabat untuk bisa
digunakan dalam melakukan developing Android, maupun developt aplikasi
mobile lainnya. Eclipse memberikan kemudahan bagi para developer untuk bisa
membuat aplikasi dengan memberikan kesan yang biasa tapi professional untuk
digunakan dalam mengembangkan aplikasi mobile.
Dalam user interfaces eclipse diberikan keterangan yang memudahkan
user untuk melakukan coding dan melakukan pengembangan aplikasi. Keterangan
dari setiap fungsi nya akan dibahas sebagai berikut :
a. Nomor 1 adalah Tree Structure Programming, yaitu bentuk struktur dari
aplikasi yang dikembangkan pada eclipse yang berbentuk seperti sebuah
explorer dengan hierarcychal yang memudahkan user untuk mengetahui
letak kesalahan.
b. Nomor 2 adalah Source Code Sheet, yaitu tempat untuk para developer
dalam mengembangkan atau menulis source code pada eclipse
c. Nomor 3 adalah Outline Explorer, yaitu tempat untuk melihat struktur
lebih mendetail dari source code yang dikembangkan, developer bisa
melihat inisialisasi yang digunakan pada setiap header dan library aplikasi
dengan melihat pada Outline Explorer
d. Nomor 4 adalah Task List, digunakan untuk melakukan tasking akan
kegiatan pengembangan aplikasi pada Eclipse.
e. Nomor 5 adalah Main Menu, yaitu digunakan untuk melakukan navigasi
terhadap menu-menu yang sudah disiapkan oleh Eclipse, seperti help, edit,
view dan sebagainya
f. Nomor 6 adalah Toolbar, yaitu digunakan untuk melakukan fungsi cepat
dalam melakukan navigasi sehingga user tidak perlu melakukan aktivitas
yang berlebih ketika melakukan developtment
g. Nomor 7 adalah Log Cat, yaitu digunakan untuk melihat aktivitas log
aplikasi ketika dijalankan pada devices, atau emulator, sehingga terlihat
Dalam pengembangan aplikasi Android, menggunakan Eclipse diharuskan
untuk menginstall ADT, dan ketika ADT terinstall pada Eclipse maka muncul
menu baru pada Eclipse sehingga pengembang bisa memastikan kalau Eclipse
tersebut bisa digunakan untuk melakukan pengembangan aplikasi Android. Dalam
pembuatan aplikasi juga eclipse menyediakan fitur debugging, dimana pada fitur
ini befungsi untuk melihat kegiatan dari aplikasi yang dikembangkan atau dibuat
yang dijalankan pada emulator ada perangkat Android.
Gambar 2.6 Eclipse yang sudah terpasang ADT (Android Developtment Tools)
2.4.Konsep Pengolahan Citra Digital
Dalam pengertian konsep pengolahan citra digital, citra memiliki 2 konsep
yaitu citra digital dan citra kontinue. Saat ini algoritma yang digunakan dalam
pembuatan multitouch tester ini adalah dengan menggunakan algoritma dari citra
digital.Citradiskrit(citradigital)dihasilkanmelaluiprosesdigitalisasiterhadapcitrako
2.4.1. Citra Digital
Citra digital merupakanfungsiintensitascahayaf(x,y), dimanahargax dany
merupakankoordinatspasialdanhargafungsitersebutpadasetiaptitik(x,y)
citratersebutdanelemenmatriksnya(yang disebutsebagaielemenGambar atau piksel
atau pixel atau picture element atau pels)
menyatakantingkatkeabuanpadatitiktersebut.
2.4.1.1.Metodologi Citra Digital
PembentukanCitra (Data Acquisition): Menentukandata yang
diperlukandanmemilihmetodeperekamancitradijital.
PengolahanCitra TingkatAwal(Image Preprocessing):
Meningkatkankontras, menghilangkangangguangeometrik/ radiometrik,
menentukanbagiancitrayang akandiobservasi.
SegmentasiCitra (ImageSegmentation) danDeteksiSisi(Edge Detection):
Melakukanpartisicitramenjadiwilayah-wilayahobyek(Internal Properties)
SeleksidanEkstraksiCiri(Feature Extraction and Selection):
Seleksicirimemilihinformasikwantitatifdariciriyang ada, yang
dapatmembedakankelas-kelasobyeksecarabaik.
Ekstraksicirimengukurbesarankwantitatifcirisetiappiksel
2.5.Konsep Aljabar Linier dan Matriks
Aljabar linear adalah bidang studi matematika yang mempelajari
sistem persamaan lineardan solusinya, vektor, serta transformasi
linear. Matriks dan operasinya juga merupakan hal yang berkaitan erat dengan
bidang aljabar linear. Beberapa penyelesaian yang berhubungan dengan aljabar
linier adalah mengenai system persamaan linier, invers, pencarian nilai eigen dan
nilai vektor serta diagonalisasi.Metrika atau matriks adalah
kumpulan bilangan berbentuk persegi panjang yang disusun menurut baris dan
kolom. Bilangan-bilangan yang terdapat di suatu matriks disebut dengan elemen
atau anggota matriks. Dengan representasi matriks, perhitungan dapat dilakukan
dengan lebih terstruktur. Pemanfaatannya misalnya dalam menjelaskan persamaan
linier, transformasi koordinat, dan lainnya. Matriks seperti halnya variabel biasa
dapat dimanipulasi, seperti dikalikan, dijumlah, dikurangkan dan
didekomposisikan
2.5.1. Sistem Persamaan Linear
Suatu persamaan linear dalam n perubah (variabel) adalah persamaan
... (2.1)
Pada Persamaan 2.1 dimana a1, a2, … an dan b adalah bilangan-bilangan
real dan x1, x2, … xn adalah peubah. Dengan demikian maka suatu sistem linear
dari m persamaan dalam n peubah adalah satu.
.
.
.
... (2.2)
Pada Persamaan 2.2 dimana aij dan bi semuanya adalah bilangan-bilangan
real. m x n akan disebut sebagai sistem linear.
Himpunan semua penyelesaian dari sistem linear disebut himpunan
penyelesaian dari sistem. Jika suatu sistem takkonsisten, maka himpunan
penyelesaian adalah himpunan kosong. Suatu sistem konsisten akan memiliki
suatu himpunan penyelesaian yang tak kosong. Untuk menyelesaikan suatu sistem
konsisten, maka himpunan penyelesaian harus ditemukan terlebih dahulu.
2.5.1.1.SistemnX n
Definisi sistem n X n memiliki bentuk segituga, jika koefisien-koefisien
dari k-1 peubah yang pertama dalam persamaan ke-k semuanya nol dan keofisien
Sembarang sistem segitiga n X n dapat diselesaikan dengan metode
subtitusi balik (back-sub-stitution). Jika suatu sistem persamaan tidak berbentuk
segitiga, maka kita gunakan yang lain untuk memperoleh sistem ekivalen yang
berbentuk segitiga.
Dalam sistem n X n kita dapat mengasosiasikan sistem itu dengan suatu
jajaran bilangan orde 3 x 3 yang entrinya sesuai dengan koefisien-koefisien dari x.
dalam sistem ini disebut sebagai matriks koefisien dari sistem yang bersangkutan.
Istilah matriks artinya tak lain adalah jajaran persegi panjang dari
bilangan-bilangan. Matriks yang memiliki m baris dan n kolom dikatakan berorde m x n.
...(2.3)
Jika menyisipkan pada matriks koefisien tersebut pada persamaan 2.3
suatu kolom tambahan yang entri-entrinya adalah bilangan ruas kanan dari sistem,
maka dapat dibentuk suatu matriks baru.
...(2.4)
Matriks pada persamaan2.4 ini dikatakan sebagai matriks yang diperbesar
(argumented matrix). Pada umumnya, jika suatu matriks B yang berorde m x r
disisipkan pada matriks A yang berorde m x n dengan cara demikian maka matriks
…
Untuk setiap sistem persamaan pada persamaan 2.5 dan 2.6 dapat
mengasosiasikannya dengan matriks yang diperbesar berbentuk :
... … ...
… ... ... (2.7)
Sistem yang bersangkutan dapat diselesaikan dengan melakukan
operasi-operasi pada matriks yang diperbesar. Semua xi adalah peubah yang dapat
dihilangkan sampai perhitungan selesai.
Ketiga operasi yang digunakan untuk memperoleh sistem ekivalen
berhubungan dengan operasi-operasi baris yang dapat diterapkan pada matriks
yang diperbesar.
Pada umumnya, jika sistem linear n x n dapat direduksi menjadi bentuk
segitiga, maka sistem linear permulaan akan memiliki penyelesaian tunggal yang
dapat diperoleh dengan melakukan subsitusi balik pada sistem segitiga yang
2.5.2. Konsep Algoritma Aljabar Matriks
Dalam pembuatan aplikasi berbasis gambar yang teurtama pada
pemrograman komputer atau pada mata kuliah grafika komputer. Konsep
algoritma aljabar linier dan matriks sangat diperlukan. Karena obyek yang
digunakan adalah gambar maka matriks dapat ditulis sebagai suatu susunan
segiempat (rectangular array) dari elemen-elemen dimana setiap entri memiliki
dua subskrip (berbeda dengan vektor, yang setiap entrinya hanya memiliki satu
subskrip).
2.5.2.1.Matriks
Matriks A atas medan K atau, cukup disebut matriks A (jika K implisit)
adalah susunan segiempat dari skalar-skalar yang biasanya dinyatakan dalam
bentuk sebagai berikut :
. . .
Baris-baris pada persamaan 2.8 matriks A semacam ini adalah m deretan
horizontal yang terdiri dari skalar-skalar :
, , … , , , , … , , , , … , ... (2.9)
Dan kolom-kolom dari persamaan 2.9A adalah n deretan vertikal yang
… , … , … , … ... (2.10)
Pada persamaan 2.10, elemen aij, yang disebut entri ij atau elemen ij,
muncul pada baris i dan kolom j. seringkali menuliskan matriks tersebut hanya
sebagai A = [aij].
Suatu matriks dengan m baris dan n kolom disebut sebagai m kali n, ditulis
m x n. Pasangan bilangan m dan n disebut ukuran matriks. Dua matriks A dan B
adalah sama, ditulis A = B, jika keduanya memiliki ukuran yang sama dan jika
elemen-elemennya yang bersesuaian juga sama. Maka kesamaan yang terdiri dari
dua matriks m x n ekuivalen dengan sistem yang terdiri dari mn kesamaan, satu
untuk masing-masing pasangan elemen yang bersesuaian.
Matriks yang hanya memiliki satu baris disebut matriks baris atau vektor
baris, dan matriks yang hanya memiliki satu kolom disebut matriks kolom atau
vektor kolom. Matriks yang seluruh entrinya adalah nol disebut matriks nol dan
biasanya dilambangkan dengan 0.
2.5.3. Konsep Transformasi Matriks
Transformasi adalah suatu pemetaan yang mentransformasikan
(memindahkan) suatu titik atau suatu Gambar (disebut benda atau obyek) ke suatu
titik atau suatu Gambar lain (disebut bayangan). Transformasi tidak mengubah
bentuk dan ukuran suatu obyek atau benda disebut transformasi isometri. Tiga
rotasi (perputaran) termasuk transformasi isometri. Adapun dilatasi (perbesaran)
tidak termasuk transformasi isometri sebab dilatasi mengubah ukuran benda.
2.5.4. Konsep Translasi Matriks
Transformasi yang menggeser (memindahkan) benda dengan arah dan
jarak tertentu dinamakan translasi. Misalnya, sebuah mobil didorong ke timur
dengan jarak 2 meter, maka mobil tersebut akan berpindah tempat dengan ukuran
yang sama dan juga dengan jarak yang sama yaitu 2 meter tanpa mengubah berat,
bentuk, ukuran dari mobil tersebut. Translasi juga bisa diterapkan pada suatu
obyek Gambar dimana Gambar tersebut akan berpindah dari satu titik ke titik
lainnya baik horizontal maupun vertikal tanpa mengubah bentuk, ukuran dari
Gambar tersebut.
Dalam translasi matriks dikenal juga dengan komposisi translasi antara
f(x) dan g(x). Jika dalam suatu fungsi komposisi f(x)dikerjakan dahulu baru g(x)
maka fungsi komposisinya diberi notasi (gof)(x), jika dalam suatu fungsi
komposisi g(x) dikerjakan terlebih dahulu maka fungsi komposisinya akan diberi
notasi (fog)(x) yang bisa didefinisikan sebagai (gof)(x) = (fog)(x)
Dalam fungsi komposisi, hanya akan terjadi dua translasi tunggal yang
dilakukan berurutan. Misalnya, translasi T1 memetakan titik A(x,y) ke A’(x’,y’),
dilanjutkan dengan translasi T2 yang memetakan A’(x’,y’) ke A”(x”,y”) maka
komposisi yang memetakan A(x,y) ke A”(x”, y”) dinyatakan oleh T2oT1, yang
secara skema dituliskan pada persamaan 2.11 dan persamaan 2.12 sebagai berikut
, , " ", " ... (2.11)
, , " ", " ... (2.12)
Rumus dan sifat komposisi translasi matriks dituliskan pada persamaan
2.13, persamaan 2.14 dan persamaan 2.15 sebagai berikut :
Jika diketahui dan maka:
. ... (2.13)
. ... (2.14)
Oleh karena maka:
. . ... (2.15)
Dari rumus dan sifat komposisi translasi matriks dapat diterapkan pada
aplikasi multitouch tester yang berbasis obyek Gambar dimana fungsi ini bertugas
untuk menghandle pergerakan obyek Gambar pada aplikasi ini.
2.5.5. Konsep Rotasi Matriks
Rotasi adalah perpindahan obyek dari titik P ke titik P’ yang berupa
pemindahan berputar sebesar sudut θ. Rotasi pada matrik memiliki persamaan
rumus 2.16 sebagai berikut :
y’ = x sin(θ) + y cos(θ)... (2.17)
Dengan menggunakan persamaan 2.17 konsep rotasi matrik maka
kemungkinan untuk memutar suatu obyek pada Gambar bisa terjadi di
pemrograman komputer. Suatu rotasi dengan pusat P dan sudut rotasi θ
dinotasikan dengan R (P,θ).
2.5.5.1.Rotasi Terhadap Titik Pusat O (0,0)
Jika titik P (x,y) diputar sebesar θ berlawanan arah jam terhadap titik pusat
O (0,0) maka diperoleh bayangan P’ (x’, y’). rotasi terhadap titik pusat memiliki
fungsi sebagai berikut :
R(O, θ ): P(x,y) → P ' (x ' , y ' ) = P ' (x cosθ - y sinθ , x sinθ + y cos θ )
Dan untuk persamaan matriksnya pada persamaan 2.18:
cos
...
(2.18)
Untuk θ = 90 0 , -90 0 , 180 0 , 270 0 , -270 0 denganmemasukkan nilai θ
tersebut didapat tabel yang dijadikan patokan umum dalam menggunakan rumus
fungsi dari rotasi terhadap titik pusat O (0,0) adalah sebagai berikut :
Tabel 2.1 Tabel Ketentuan Rotasi Matriks
Rotasi Bayangan Matriks
R(O,900) (-y, x)
R(O,-900) (-y, x)
R(O,1800) (-x, -y)
R(O,-2700) (-y, x)
2.5.5.2. Rotasi Terhadap Titik Pusat P(a,b)
Jika suatu titik P (x,y) diputar sejauh θ berlawanandengan arah jam
terhadap titik pusat A(a,b) makabayangannya adalah P ' (x ' , y ' ) dengan
persamaan 2.19 dan 2.20 :
x ' - a = (x –a) cosθ - (y-b) sinθ ... (2.19)
y ' - b = (x – a) sin θ + (y- b) cos θ... (2.20)
Persamaan matriknya tertera pada persamaan 2.21:
... (2.21)
2.5.6. Konsep Skala Matriks
Skala atau scalling pada matriks adalah perpindahan obyek dari titik P ke
titik P’, dimana jarak titik P’ adalah m kali titik P. skala matriks memiliki
persamaan konsep pada 2.22 sebagai berikut :
BAB III
PERANCANGAN SISTEM
3.1.Analisis Aplikasi
Aplikasi multitouch tester ini dikembangkan dalam bentuk mobile dengan
memanfaatkan teknologi Bahasa Pemrograman Android dengan menggunakan
Bahasa Pemrograman Java. Dimana hasil akhir berupa sampling dari beberapa
gambar yang akan bisa digerakkan dengan sempurna oleh tablet dan smartphone.
Hasil dari multitouch tester ini adalah berupa kehandalan suatu OS dari
Gingerbread dan Honeycomb serta kemampuan Android dalam penggunaan
resolusi besar dan resolusi rendah, misalkan dalam Tablet berukuran 8,9” keatas
mampu untuk menggerakan atau melakukan aktivitas multitouch secara simultan
dan tanpa mengurangi performa dari tablet itu sendiri. Dimana pada
smartphoneAndroid berukuran 4” keatas mampu untuk menggerakkan atau
melakukan aktivitas multitouch secara sempurna tanpa mengurangi performa dari
smartphone itu sendiri.
Setelah pengguna menjalankan aplikasi multitouch tester ini maka
pengguna akan mendapatkan beberapa bagian aktivitas yaitu tombol tambah
gambar dan layar hitam yang merupakan area untuk melakukan aktivitas tester.
Aplikasi ini juga mampu melakukan pengujian tanpa menggunakan objek gambar,
yaitu aplikasi ini mampu melakukan pengujian dengan hanya memberikan gambar
atau objek red dot yang saya buat untuk menguji seberapa banyak touch event
Mekanisme pengambilan objek gambar pada aplikasi ini adalah dengan
menyiapkan variabel gambar pada folder *.apk yang sudah di aplikasikan dalam
pemrograman. Gambar akan disiapkan kurang lebih 10 gambar atau obyek tetapi
ketika user menggunakan tombol tambah gambar maka gambar akan keluar
dengan animasi berdurasi tertentu kemudian gambar muncul dengan random,
gambar akan diberikan beberapa macam resolusi, mulai dari resolusi rendah
sampai tinggi, dimana resolusi rendah dan tinggi akan dapat dibedakan dengan
output gambar yang keluar ketika tombol tambah gambar ditekan yaitu gambar
akan keluar dengan ukuran yang besar dan gambar akan keluar dengan ukuran
yang kecil.
Gambar dengan ukuran yang besar menandakan bahwa gambar tersebut
memiliki resolusi dan pixel yang tinggi, sedangkan gambar dengan ukuran yang
kecil menandakan bahwa gambar tersebut memiliki resolusi dan pixel yang
rendah. Secara secara pengujian bahwa gambar akan dikonversi secara otomatis
menjadi gambar dengan pixel yang sama tetapi dengan resolusi standard atau
bawaan dari penginputan gambar. Jadi aplikasi ini akan mengkonversi gambar
menjadi pixel yang sama tanpa mengurangi kualitas resolusi gambar.
Setelah penambahan gambar dilakukan maka user akan melakukan
aktivitas yakni penggerakan gambar dan memindahkan gambar dari posisi x ke
posisi y baik secara horizontal maupun vertikal. Dalam penggerakan gambar ini
akan ditunjukkan beberapa fungsi yaitu fungsi red dot yang sudah disiapkan
terlebih dahulu untuk menunjukkan posisi user melakukan aktivitas touch event
Setelah melakukan aktivitas pemindahan gambar maka aktivitas lainnya
adalah melakukan zoom in dan zoom out suatu gambar dimana gambar akan
dipecah pixel nya menjadi besar ketika melakukan zoom in dan gambar akan
dikecilkan pixel nya ketika melakukan zoom out.
Pada aplikasi ini juga terdapat rotation atau memutar gambar dengan sudut
360 derajat sehingga user mampu memutar suatu gambar tanpa ada batasan
dengan obyek 2D sebesar sudut 360 derajat.
3.2.Perancangan Aplikasi
Perancangan aplikasi atau sistem pada aplikasi multitouch tester ini
berfungsi untuk penjelasan mengenai cara kerja secara umum, kebutuhan
pengguna baik dari sisi developer maupun pengguna devicesAndroid. Dalam
perancangan aplikasi dari sisi developer penulis ingin menunjukkan bagaimana
algoritma dan alur pembuatan aplikasi dari segi developer atau programmer
sehingga dalam pembuatan rancangan akan lebih rinci dan lebih terlihat alur
jalannya algoritma dan juga alur pengujian, sedangkan dalam sisi pengguna alur
yang disajikan lebih ringkas dan umum dikarenakan alur ini berisikan flowchart
tentang bagaimana seorang pengguna akan menggunakan aplikasi Android ini
pada perangkat Android yang dimiliki oleh pengguna. Rancangan alur program
menggunakan flowchart dimodelkan dengan Microsoft Office Visio 2010,
sedangkan rancangan UML (Unified Model Language) menggunakan aplikasi
3.3.Deskripsi Umum Aplikasi
Multitouchyang dijalankan di tablet dan smartphoneAndroid dengan
menggunakan teknologi Android Programming Language dan Java Programming
Language merupakan kegiatan untuk mengukur kemampuan dari suatu hardware
dalam menangani obyek gambar dengan resolusi yang tinggi, rendah tetapi
dengan pixel yang sama dimana hasil akhir berupa sampling dari beberapa gambar
yang akan bisa digerakkan dengan sempurna oleh tablet dan smartphone. Hasil
dari multitouch tester ini adalah berupa kehandalan suatu OS dari Gingerbread
dan Honeycomb serta kemampuan Android dalam penggunaan resolusi besar dan
resolusi rendah, misalkan dalam tablet berukuran 8,9” keatas mampu untuk
menggerakan atau melakukan aktivitas multitouch secara simultan dan tanpa
mengurangi performa dari tablet itu sendiri. Dimana pada smartphoneAndroid
berukuran 4” keatas mampu untuk menggerakkan atau melakukan aktivitas
multitouch secara sempurna tanpa mengurangi performa dari smartphone itu
sendiri.
Dari sebuah aplikasi yang sudah terpasang pada devicessmartphone dan
tablet akan segera melakukan pengujian kinerja hardware suatu tablet dan
smartphone, baik dari segi touch event maupun aktivitas multitouch event.
Deskripsi dari arsitektur sistem adalah sebagai berikut :
a. Terlebih dahulu pengguna jika ingin mendapatkan aplikasi ini bisa
download di Android Market atau mengunduh dari
b. Setelah mendapatkan aplikasi maka user bisa melakukan instalasi baik
secara manual dari Windows atau Linux maupun dari handphone atau
tablet secara langsung
c. Setelah proses instalasi selesai maka user dapat menjalankan
aplikasinya.
d. Pada kondisi ini, jika pengguna ingin hanya melakukan testing touch
event maka user bisa melakukan aktivitas touch saja pada bagian layar
berwarna hitam.
e. Pengguna akan melihat aktivitas yaitu keluarnya red dot ketika user
melakukan aktivitas touch event pada bagian tester berwarna hitam.
f. Setelah user melakukan aktivitas tersebut maka pengujian lainnya
adalah dengan menekan tombol tambah gambar. Maka akan keluar 1
gambar dengan random yaitu dengan ukuran yang besar dan kecil.
g. Pengguna bisa menggerakan gambar tersebut baik secara horizontal
dan vertikal pada bagian layer touch event.
h. Jika user ingin melakukan rotasi maka pengguna harus menggunakan
dua jari untuk memutar gambar tersebut baik dengan ukuran sudut 360
derajat atau 90 derajat sesuai dengan keinginan pengguna.
i. Jika user ingin melakukan zoom in dan zoom out maka user harus
menggunakan dua jari dengan menjauhkan jari pertama dengan jari
kedua untuk melakukan zoom in, dan mendekatkan jari pertama
dengan jari kedua untuk melakukan zoom out.
j. User bisa menambahkan gambar lagi pada aplikasi tersebut dan juga
gambar yang sudah di tambah sebelumnya secara simultan tanpa
terkecuali.
Didalam aplikasi Multitouch Tester juga disediakan hold touch yaitu
menekan dalam beberapa waktu sehingga gambar tersebut akan terpilih dan akan
dilakan lock serta pemberian tanda pilih.
3.3.1. Kebutuhan Aplikasi
Dari deskripsi arsitektur multitouch pada devices Android, dapat diketahui
bahwa titik fokus dari aplikasi yang dijalankan di handphone dan tablet yang
berbasis Android dimana tidak terkecuali bahwa hardware handphone dan tablet
tidak mendukung untuk melakukan multitouch sehingga bisa diketahui bahwa
devices tersebut mampu melakukan aktivitas multitouch atau tidak dengan baik
dan sempurna sesuai dengan keinginan pengguna. Kebutuhan lainnya adalah
dengan syarat minimum OS yaitu 2.2 (froyo) dan maksimum yaitu 3.0
(Honeycomb) sehingga jika aplikasi ini dijalankan pada OS dibawah
minimumFroyo maka kmungkinan akan terjadi obsolete atau OS yang sudah tidak
didukung oleh pembuatan aplikasi ini dikarenakan API level nya yang sudah
berbeda antara versi-versi OS Android.
3.3.1.1.Kebutuhan Pengguna
Untuk memenuhi kebutuhan pengguna mengenai interaksi dengan aplikasi
dan untuk mengetahui kebutuhan apa saja yang perlu disiapkan, maka perlu
dijabarkan mengenai kebutuhan perangkat handphone dan tablet pengguna.
sebagai tempat atau media percobaan aplikasi multitouch tester.Handphone dan
tablet yang sudah didukung antara lain :
a. LG Optimus 2X, Optimus 3D
b. LG Optimus Pad
c. Samsung Nexus S (With Google), Galaxy S, Galaxy S II
d. Samsung Galaxy Tab 10.1
e. Samsung Galaxy Tab 8.9
f. Samsung Galaxy Tab 7.5
g. Samsung Galaxy Tab
Sebenarnya aplikasi multitouch ini dapat dijalankan di semua handphone
berbasis Android tetapi dengan mengutamakan minimum OS yaitu 2.2 (Froyo).
Salah satu handphone diatas yang digunakan untuk uji coba menjalankan aplikasi
Handphone yang terintegrasi OS Gingerbread
Handphone yang mendukung multitouch 10 point
Handphone yang memiliki LCD dengan ukuran 4”
Selain handphone dan tablet yang digunakan untuk uji coba menjalankan
aplikasi “Multitouch Tester” dapat dilihat dibawah ini :
Gambar 3.2 Android Tablet LG Optimus Pad
Tablet yang terintegrasi OS Honeycomb
Tablet yang mendukungmultitouch 10 point
3.3.1.2.Kebutuhan Emulator
Di aplikasi ini juga dalam melakukan pembuatan aplikasi menggunakan
Android Emulator sehingga sebelum melakukan instalasi kepada devices Android
akan diinstall terlebih dahulu di emulator untuk menguji ke kompatibilitas suatu
aplikasi sebelum menginstall pada devices. Sehingga developer mampu
mengetahui letak kesalahan dari aplikasi yang dikembangkan.
Spesifikasi untuk PC atau laptop yang digunakan untuk menjalankan
Android Emulator antara lain :
a. Seperangkat komputer yang meliputi monitor, keyboard, mouse, dan PC
dengan Processor Intel/AMD, memori 2/3GB, Harddisk 50GB dan telah
terpasang sistem operasi Linux Ubuntu 10.10 atau 11.10, Windows XP,
Windows 7, Windows Vista 32 bit.
b. Telah terinstall juga aplikasi Eclipse Indigo, Android SDK, dan Java SDK.
c. Modem GPRS yang teintegrasi untuk melakukan konektivitas internet dari
Windows ke emulator.
d. Telah terpasang AVD (Android Virtual Devices) dengan spesifikasi yaitu :
OS Gingerbread, RAM 1024MB, Storage 1024MB dan memiliki density
pixel 240 standar dari Google, OS Honeycomb, RAM 1,5GB Storage
2048MB dan memiliki density pixel 240 standar dari Google
3.3.2. Spesifikasi Alur AplikasiPada Emulator
Terdapat dua proses yang utama pada percobaan aplikasi multitouch tester.
Yaitu proses kompatibilitas dari versi Gingerbread dan Honeycomb, serta proses
3.3.2.1. Proses Kompatibilitas
Dalam alur developtment Android maka yang harus dilakukan pertama
adalah proses kompatibilitas pada suatu versi OS dikarenakan API Level yang
berbeda antara versi OS di Android maka pengetesan dapat dilihat pada Gambar
3.3 dibawah ini :
Laptop / PC
Eclipse Indigo
Android API Level SDK Database Android AVD
Ketika proses debug selesai maka tinggal melakukan runpada
AndroidVirtual Devices dimana para pengembang akan mengetahui
kompatibilitas dari aplikasi yang sudah diciptakan sehingga aplikasi tersebut
tinggal melakukan penambahan fitur-fitur saja.
3.3.2.2. Proses Kemampuan Touch Event
Setelah melakukan pengujian kompatibilitas maka yang harus dilakukan
selanjutnya adalah penambahan fitur.Pengembang aplikasi pada Android akan
melakukan 1 penambahan fitur yaitu tambah gambar jika tambah gambar sudah
bisa maka fitur penambahan lainnya seperti touch event 1 titik pada
devicesemulator menandakan bahwa aplikasi siap untuk dipasangkan pada devices
Android
3.3.3. Spesifikasi Alur Aplikasi Pada Devices
Terdapat 3 proses yang dijalankan dapat aplikasi ini yaitu, Proses touch
event tester, proses touch berdasarkan gambar, proses aktivitas terhadap gambar.
Semua proses akan dijalankan pada devices Android berbasis Gingerbread dan
Honeycomb.
3.3.3.1.Proses Touch Event Tester
Tugas yang pertama yaitu melakukan aktivitas touch event tester, untuk
Gambar 3.4 Proses Touch Event
Pertama pengguna akan menjalankan aplikasi, kemudian pengguna akan
melihat tampilan user interface dengan background hitam dan 1 buah tombol
tambah gambar. Dimana user bisa melakukan aktivitas pada aplikasi ini tanpa
menekan tombol tambah gambar, maka aktivitas user akan disebut dengan touch
event tester yakni melakukan pengujian touch inputpengguna dengan hanya
melihat outputred dot dimana red dot ini adalah tanda pengguna melakukan
aktivitas pada aplikasi ini.
3.3.3.2.Proses Touch Terhadap Gambar
Tugas yang kedua yaitu melakukan aktivitas touch terhadap gambar, untuk
Gambar 3.5 Proses Touch Terhadap Gambar
Setelah pengguna menjalankan aplikasi, kemudian user akan melihat
tampilan user interface dengan background hitam dan 1 buah tombol tambah
gambar maka user bisa menekan tombol tambah gambar, dengan menekan tombol
tambah gambar maka keluar 1 gambar, keluarnya 1 gambar tersebut akan secara
acak yaitu dengan ukuran resolusi tinggi, maupun resolusi rendah tetapi dengan
pixel yang disamakan maka user akan mendapatkan hasil gambar yang sama.
3.3.3.3.Proses Aktivitas Terhadap Gambar
Tugas yang ketiga adalah aktivitas terhadap gambar, untuk lebih jelasnya
Gambar 3.6 Proses Touch Activity Pada Aplikasi
Setelah pengguna menambahkan 1 gambar, user bisa melakukan aktivitas
antara lain menggerakkan atau memindahkan gambar dari posisi x ke y dengan
keadaan horizontal dan vertikal, selain memindahkan gambar dan menggerakkan
gambar user bisa melakukan rotasi pada gambar yang sudah di tambahkan oleh
pengguna dengan sudut 360 derajat, setelah melakukan rotasi user juga bisa
melakukan zom in dan zoom out pada gambar yang sudah ditambahkan, user bisa
menambahkan gambar yang lain dengan menekan tombol tambah gambar
kemudian pengguna bisa melakukan aktivitas yang sama dan secara simultan
3.3.4. Flowchart Touch Event Pada Emulator
Flowchart adalah bagan yang menunjukkan alur didalam program atau
prosedur sistem secara logika. Dimana terutama untuk alat bantu komunikasi dan
dokumentasi. Flowchart juga merupakan bagian yang menunjukkan arus
pekerjaan secara keseluruhan dalam sistem, menjelaskan urutan
prosedur-prosedur yang ada didalam sistem serta menunjukkan apa yang dikerjakan dalam
sistem.
Dengan adanya flowchart dapat memperjelas penjelasan yang telah
diuraikan diatas dengan alur program yang lebih detail. Dengan flowchart
diharapkan dapat mengetahui semua proses-proses yang terjadi di dalam sistem
maupun aplikasi “Multitouch Tester” berbasis mobile di Sistem Operasi
AndroidGingerbread dan Honeycomb dan juga proses pengujian hardware
menggunakan aplikasi “Multitouch Tester”.
Dari flowchart dibawah dapat dijelaskan bahwa langka pertama yang
harus dilakukan oleh user untuk mengunduh aplikasi pada Android Market atau
pada situs www.mediafire.com/xxx/ dimana pada situs mediafire tersebut sudah
terunggah package aplikasi multitouch tester sehingga bisa dijalankan pada
devices secara langsung.
Setelah proses instalasi berhasil maka jalankan aplikasi multitouch tester
tersebut maka user akan bertemu user interface background hitam dan 1 tombol
Gambar 3.7 Flowchart Aplikasi Multitouch Tester
Ketika pengguna ingin melakukan pengujiantouch event pada
backgroundhitam dan memperhatikan output berupa red dot yang merupakan
hasil dari touch yang dilakukan oleh pengguna pada aplikasi multitouch tester.
Perbedaan yang ada antara pada emulator dan devices sangat mencolok
yaitu dari fungsi touch yang hanya bisa 1 touch sedangkan pada devices bisa
mencapai 10 touch.
Tabel 3.1 Perbedaan Aplikasi Pada Emulator Dan Pada Devices
No Aplikasi pada Emulator Aplikasi pada devices
1 Touch Event hanya memiliki 1 Touch event bisa sampai 10
2 Tidak support multitouch Support multitouch
3 Tambah gambar event hanya 1
sampai 10
Tambah gambar bisa sampai 1 sampai
10 dan aktivitas juga bisa semua
4 Tidak bisa rotasi Bisa Rotasi
5 Tidak bisa zoom in zoom out Bisa zoom in zoom out
Jika pengguna ingin mencoba dahulu, maka pengguna bisa langsung
beraktivitas tanpa perlu menekan tombol tambah gambar pada aplikasi, tetapi
ketika pengguna ingin melakukan tambah gambar maka pengguna bisa
menambahkan 1 gambar atau obyek dengan menekan tombol tambah gambar.
Setelah pengguna menekan tombol tambah gambar maka secara otomatis aplikasi
multitouch tester ini akan menampilkan gambar secara acak baik dari segi ukuran
resolusi tetapi untuk pixel gambar akan disetarakan sesuai dengan batasan aplikasi
Pengguna bisa melakukan pengujian touch event sebanyak 5 – 10 point
tanpa melakukan pemanbahan gambar, untuk melihat kemampuan deteksi touch
pada devices, setelah pengguna merasa yakin maka pengguna bisa menambahkan
gambar dengan menekan tombol tambah gambar dan kemudian melakukan
aktivitas pada gambar.Pengguna bisa memindahkan gambar dari posisi x ke y baik
horizontal maupun vertikal.
Selain memindahkan gambar pengguna bisa melakukan rotasi pada
gambar yaitu dengan melakukan aktivitas memutarkan gambar dengan ukuran
sudut 360 derajat tanpa terkecuali.
Jika pengguna ingin melakukan zoom in dan zoom out pada gambar,
pengguna bisa melakukannya sama seperti melakukan aktivitas rotasi tetapi
dengan menggerakan jari menjauh dan mendekatkan saja.
Jika pengguna ingin menambahkan gambar, maka pengguna bisa
melakukan tambah gambar dan melakukan aktivitas yang sama terhadap gambar
yang pengguna tambahkan tadi dan melakukannnya secara simultan atau
bersamaan dalam 10 objek sekaligus dan juga dalam 10 touch saja, selebihnya
maka touch tersebut tidak akan terdeteksi oleh aplikasi dikarenakan maksimum
hardware yang diberikan hanya 10 touch saja.
3.3.5. Flowchart Touch Event Pada Devices
Proses touch event pada aplikasi multitouch tester ini berguna untuk
mendeteksi sentuhan pengguna pada aplikasi multitouch tester, dimana touch
event adalah dengan memberikan proses identifikasi aplikasi ketika LCD
instruksi kepada aplikasi untuk menunjukkan proses yang harus dilakukan. Proses
instruksi touch event pada aplikasi ini kan dijelaskan sebagai berikut dalam
bentuk diagram flowchart, dimana flowchart akan memberikan gambaran secara
rinci dan khusus dari instruksi aplikasi yang harus dilakukan ketika terjadi
aktivitas touch pada aplikasi multitouch tester.
Gambar 3.8 Proses Algoritma Touch Event
Dari Gambar 3.8 diatas dapat dijelaskan sebagai berikut :
1) Aplikasi dijalankan
2) Aplikasi mulai menjalankan class utama yaitu multitouch class
3) Aplikasi mendapatkan aktivitas pada layar hitam, dan kemudian aplikasi