BAB 2 LANDASAN TEORI

advertisement
BAB 2
LANDASAN TEORI
2.1 Short Message Service
Layanan pesan singkat atau disebut juga SMS merupakan suatu fasilitas untuk
mengirim dan menerima suatu pesan singkat berupa teks melalui telepon selular. Pada
awalnya, ide adanya SMS berasal dari mesin faks yang dapat berfungsi untuk pertukaran
teks. Sebelum digunakan oleh banyak orang di dunia, SMS mengalami pengoptimalan
fungsinya sebagai pertukaran pesan selama lebih dari satu dasawarsa. Salah satu
kelebihan dari SMS adalah biaya yang murah. Selain itu SMS merupakan metode simpan
dan forward sehingga pada saat telepon selular tidak aktif atau diluar service area,
penerima tetap dapat menerima SMS apabila telepon selular tersebut sudah aktif
kembali. Prinsip kerja SMS adalah setiap pertama kali pengiriman pesan SMS dilakukan
akan menuju ke pusat SMS yang bertugas untuk menyimpan pesan dan mencoba
mengirimkan beberapa kali ke tujuan sampai waktu yang ditentukan pada pusat pesan
telepon selular. SMS bekerja menggunakan sinyal yang terbatas pada telepon selular.
Oleh karena itu, SMS memiliki keterbatasan karakter dalam pengetikkan teks yaitu 160
karakter dan membutuhkan SMSC atau pusat SMS.(Farial, Dody. 2010. Pengertian SMS.
http://ilmucomputer2.blogspot.com/2009/09/pengertian-sms.html )
SMS berkembang pesat setelah diuji coba ke pasaran pada tahun 1993 dan
masyarakat lebih memilih layanan SMS sebagai sarana untuk berkomunikasi serta jauh
lebih mudah digunakan. Dari tahun ke tahun, pengiriman pesan SMS terus meningkat
dan semua orang mulai dari anak – anak, remaja, orang dewasa hingga orang tua tidak
9
dapat jauh – jauh dari SMS. Pesan SMS yang harus dibaca per kalimat membutuhkan
konsentrasi dan menjadi hambatan bagi kebanyakkan orang. Misalnya orang dengan
mobilitas tinggi dan orang dengan berkebutuhan khusus, memiliki hambatan dalam
membaca pesan dalam kalimat. Oleh karena itu, aplikasi membaca SMS menggunakan
suara akan menjadi solusi dari masalah ini dan mengubah hambatan menjadi kemudahan
untuk orang.
Program aplikasi membaca SMS menggunakan suara ini akan dibuat untuk
telepon selular. Jenis telepon selular yang digunakan adalah jenis ponsel smart phone
yang sedang tren di masyarakat pada sekarang ini yaitu Android. Android adalah sistem
operasi untuk telepon selular berbasis Linux. Android merupakan sebuah perusahaan
yang bekerja sama dengan Google. Keunggulan dari Android adalah menyediakan open
source bagi para programmer dan komunitas yang tertarik pada Android. Dalam
pembuatan aplikasi Android membutuhkan software pemrograman yaitu Eclipse yang
termasuk ke dalam bagian keluarga Java. Eclipse adalah sebuah IDE (Integrated
Development Environment) untuk mengembangkan perangkat lunak dan dapat
dijalankan di semua platform (platform – independent).
2.2 Dasar – dasar Speech Production
Ucapan atau speech diproduksi dengan mengatur aliran udara dari paru – paru
melalui tenggorokkan, hidung dan mulut. Udara yang berada di dalam paru – paru
ditekan keluar oleh dada dan jaringan paru – paru sehingga aliran udara keluar menuju
trakea dan laring. Pada laring, aliran udara diproses oleh vocal folds dan menghasilkan
suara. Suara yang telah dihasilkan akan diteruskan ke bagian faring, hidung dan mulut
10
dan disebut juga saluran vokal. Pada akhirnya dapat terdengar sebagai suara yang
dipancarkan oleh mulut dan sekitar bibir. Mekanisme produksi suara diilustrasikan pada
gambar 2.1.
Dasar produksi speech diklasifikasikan ke dalam tiga kategori. Pertama adalah suara
yang dihasilkan ketika berbicara diproduksi dengan menggunakan tekanan udara dan
masuk ke dalam vocal folds sehingga menghasilkan getaran dan sinyal harmonik secara
periodik. Kedua, suara yang tidak diucapkan dibuat dari aliran udara di sepanjang
saluran vokal. Hal ini menyebabkan gelombang suara yang bersifat kontinu tetapi tidak
harmonik. Ketiga adalah pada saat selesai mengucapkan kata konsonan akan berhenti
diproduksi di dalam aliran saluran vokal dan melepaskan tekanan udara yang telah
dihasilkan sebelumnya.
Gambar 2.1 Mekanisme Produksi Speech
Sumber : (Karjalainen, M, 2000)
11
2.2.1 Vocal Folds
Vocal folds atau lebih dikenal sebagai vocal cords (pita suara) adalah dua
struktur jaringan elastis yang terletak horisontal di laring. Pita suara akan terbuka ketika
menarik nafas, tertutup ketika membuang nafas, dan bergetar pada saat berbicara atau
bernyanyi. Pita suara menyesuaikan volume dan dimensi dari faring sehingga
menciptakan suara untuk berbicara. Seperti pada gambar 2.2 yang menunjukkan letak
dari vocal folds di laring.
Gambar 2.2 Vocal Folds
Sumber : (David Darling, 2012)
2.2.2 Saluran Vokal
Pada saat bernyanyi atau berbicara, sumber suara yang keluar akan dialirkan oleh
saluran vokal dari pita suara. Bentuk dari saluran vokal akan berubah sesuai dengan
suara yang ingin diucapkan. Saluran vokal atau vocal tract ini terletak memanjang dan
terdiri dari empat bagian yaitu laring, faring, rongga mulut dan rongga hidung. Panjang
saluran vokal biasanya 17 cm pada laki – laki dan 15 cm pada perempuan. Fungsi dari
12
saluran vokal adalah memberikan bentuk suara yang berbeda ketika diucapkan. Suara
yang berbeda dihasilkan dengan merubah posisi lidah, bibir dan rahang. Saluran vokal
akan terbuka dan menutup rongga hidung dan rongga mulut untuk menghasilkan kata
vokal dan konsonan dengan sinyal yang berbeda seperti ilustrasi gambar 2.3.
Gambar 2.3 Ilustrasi Saluran Vokal dalam menghasilkan suara [a], [i], [u]
Sumber : (Raitio, Tuomo, 2008, 7)
2.3 Speech Synthesis
Speech Synthesis atau lebih dikenal dengan istilah Text to Speech (TTS) adalah
suara buatan yang dibuat dari suara manusia sebagai speech engine agar dapat berkata
seperti manusia untuk beragam macam aplikasi. TTS menterjemahkan teks atau kata ke
dalam suara yang berguna untuk memberikan informasi dari aplikasi ke manusia.
Padaawalnya, TTS dibuat dengan cara merekam suara manusia dan disimpan ke dalam
13
database. Akan tetapi kualitas suara yang direkam tidak dapat dimengerti dan tidak
terdengar dengan jelas seperti suara robot. Namun seiring dengan perkembangan
teknologi, kualitas suara tersebut dapat terdengar seperti suara manusia. TTS berisi data
untuk mentransformasikan teks ke suara secara real time dan dapat membacakan teks
dengan intonasi suara serta kecepatan membaca yang jelas. Pada awal tahun 1990 – an,
banyak komputer yang menerapkan speech synthesizer untuk memberikan kemudahan
dalam pengoperasian komputer bagi orang dengan berkebutuhan.
Gambar 2.4 Diagram Sistem Text–to–Speech Synthesis
Sumber : (Lazardis,Alexandros, Nikos Fakotakis, etc. , 2010)
2.4 Hidden Markov Models
Model Markov Tersembunyi atau dalam Bahasa Inggris disebut dengan Hidden
Markov Modesl (HMM) merupakan pengembangan model statistik yang terkenal dari
sebuah sistem yang diasumsikan oleh Markov Chain dengan parameter yang tidak
diketahui sehingga memiliki tantangan untuk dapat menentukan parameter yang
tersembunyi (hidden) berdasarkan parameter yang diamati. Parameter yang telah
14
ditentukan kemudian akan digunakan untuk menganalisa lebih jauh, misalnya pada
aplikasi speech synthesis atau text to speech.
Menurut Nikolai V. Shokhirev. 2001. Hidden Markov Models. Diakses tanggal
4–11–2011 dari http://www.shokhirev.com/nikolai/abc/alg/hmm/hmm.html, definisi
HMM adalah variant dari finite state machine yang terdiri dari :
a. Hidden State
(2.1)
b. Simbol Observasi
(2.2)
c. Transition Probabilities
(2.3)
dimana
adalah kondisi probabilitas dari a ke b dengan waktu
dan
. A adalah probabilitas untuk state selanjutnya yaitu
dan state sebelumnya yaitu
.
d. Output Probabilities
dimana
(2.4)
di O. B adalah output probabilitas yaitu
e. Initial State Probabilities
Dapat ditulis juga menjadi
pada state sebelumnya
(2.5)
(2.6)
Gambar 2.5 Hidden States dan Simbol Observasi pada Hidden Markov Models
Sumber : (N. Shokhirev, 2010)
15
Di dalam Hidden Markov Models terdapat tiga masalah yang dapat diselesaikan
dengan 3 algoritma yaitu terdiri dari :
Langkah 1 : Masalah Evaluasi (Evaluation Problem)
Diberikan model λ = (A, B, π), bagaimana menghitung P(O | λ), yaitu
kemungkinan ditemuinya rangkaian pengamatan O = O1, O2, ..., OT. Masalah
ini dapat diselesaikan menggunakan algoritma yang dikenal dengan forward
dan backward algorithm.
Langkah 2 : Masalah Pengkodean (Decoding Problem)
Diberikan model λ = (A, B, π), bagaimana memilih rangkaian state I = i1,
i2,...,iT sehingga P(O, I | λ), kemungkinan gabungan rangkaian pengamatan O
= O1, O2, ..., OT dan rangkaian state jika diberikan model, maksimal. Dapat
diselesaikan menggunakan algoritma yaitu algoritma Viterbi.
Langkah 3 : Masalah Pembelajaran (Learning Problem)
Bagaimana mengubah parameter HMM, λ = (A, B, π) sehingga P(O | λ)
maksimal. Masalah ini dapat diselesaikan menggunakan algoritma Baum –
Welch.
2.4.1 Algoritma Viterbi
Tujuan dari decoding adalah untuk mencari state sequence yang tersembunyi
(hidden). Algoritma viterbi membantu mencari state sequence tersembunyi itu dengan
cara menelusuri setiap state hingga mendapatkan state terbaik dan maksimum. Definisi :
(2.7)
sebagai probabilitas yang ada pada setiap state.
16
Berikut ini adalah langkah – langkah algoritma Viterbi :
Langkah 1 :
Inisialisasi
(2.8)
Langkah 2 :
Rekursi
,
,
Gambar 2.6 Langkah rekursi pada algoritma Viterbi
Sumber : (Blunsom, Phil, 2004, 5)
Gambar 2.7 Langkah backtracking pada algoritma Viterbi
Sumber : (Blunsom, Phil, 2004, 5)
(2.10)
(2.11)
17
Langkah 3 :
Terminasi
(2.12)
(2.13)
Langkah 4 :
Jalur state sequence dengan backtracking
(2.14)
Pada aplikasi TTS, algoritma viterbi dibutuhkan untuk melakukan training pada database
sehingga dapat mengoptimalkan kerja aplikasi. Selain training, juga dilakukan analisis
dari database TTS yang telah ada. Analisis data ini membutuhkan unit selection speech
synthesis untuk kata atau phonem seperti pada gambar 2.8. Untuk dapat digunakan
dalam smartphone berbasisAndroid, maka dibutuhkan diphone synthesis. Synthesis ini
digunakan agar dapat dikenal oleh telepon selular dan berisi daftar fonem sebagai input,
prosodi atau intonasi, durasi dan pitch yang telah ada dalam aplikasi MBROLA. Cara
kerja MBROLA terdiri dari 2 cara yaitu mengubah teks ke fonem dan mengubah fonem
ke speech. Kemudian MBROLA diubah ke dalam .apk melalui developer eSpeak.
Gambar 2.8 Unit selection speech synthesis
18
Sumber : (Schröder,Marc, 2007,4)
2.5 Java
Java adalah sebuah bahasa pemrograman berorientasi objek yang dapat berjalan
pada platform yang berbeda, baik pada Windows, Linux serta sistem operasi lainnya.
Oleh karena itu, programmer dapat membuat sebuah aplikasi dengan Java pada sistem
operasi Linux dan selanjutnya menjalankan atau menginstal aplikasi tersebut pada
sistem operasi Windows dan juga sebaliknya tanpa mengalami masalah. Dengan
menggunakan Java, para programmer dapat mengembangkan berbagai aplikasi yang
digunakan pada lingkungan yang berbeda, misalnya pada Desktop, Mobile Device,
Internet dan lain – lain. Java diciptakan setelah C++ dan didesain sedemikian sehingga
ukurannya kecil, sederhana, dan portable (dapat digunakan pada bermacam platform dan
sistem operasi). Program yang dihasilkan dengan bahasa Java dapat berupa applet
(aplikasi kecil yang jalan di atas web browser) maupun berupa aplikasi mandiri yang
dijalankan dengan program Java Interpreter atau disebut juga Java Virtual Machine
(JVM). Salah satu keunggulan Java adalah sifatnya yang platform independence yang
artinya Java dalam kode program maupun hasil kompilasinya sama sekali tidak
bergantung kepada sistem operasi dan platform yang digunakan.
Untuk menginstall dan menggunakan Java, pengembang Java yaitu Sun
Microsystem menyediakan platform Java yang terdiri dari sekumpulan library, compiler,
debugger dan alat lain yang dipaket dalam Java Development Kit (JDK). Java 2 adalah
generasi yang sekarang sedang berkembang dari platform Java. Platform Java harus
diinstal sesuai dengan kebutuhan para programmer dalam membuat atau membangun
suatu aplikasi. Berikut ini platform Java aplikasi Java yang tersedia :
19
a. J2ME
Java 2 Micro Edition termasuk platform Java yang dapat digunakan untuk
mengembangkan software dan berjalan pada perangkat yang memiliki memori
serta sumber daya kecil, seperti pada telepon selular, PDA, dan Smartcard. Pada
J2ME, Jika perangkat lunak berfungsi baik pada sebuah perangkat belum tentu
berfungsi baik pada perangkat lain. J2ME adalah bagian dari J2SE, karena itu
tidak semua librabry yang ada pada J2SE dapat digunakan pada J2ME. Tetapi
J2ME mempunyai beberapa library khusus yang tidak dimiliki J2SE.
Gambar 2.9 Arsitektur dari J2ME
b. J2SE
Java 2 Standard Edition merupakan inti dasar dari pemrograman Java dan salah
satu
platform
Java
yang
dapat
digunakan
oleh
programmer
untuk
mengembangkan aplikasi yang berjalan pada lingkungan workstation, seperti
pada aplikasi Desktop serta dibutuhkan Java Development Kit (JDK) untuk
mengkompilasi dan menjalankan program Java.
20
c. J2EE
Java 2 Enterprise Edition adalah platform Java yang disediakan dan digunakan
untuk mengembangkan aplikasi pada lingkungan internet maupun pada aplikasi
skala enterprise. J2EE merupakan kelompok dari beberapa API (Application
Programming Interface) dari Java. J2EE dirancang untuk membuat aplikasi yang
rumit. J2EE sering dianggap sebagai middle – ware atau teknologi yang berjalan
di server, akan tetapi J2EE tidak terbatas untuk itu. J2EE mencakup teknologi
yang dapat digunakan di semua lapisan pada sebuah sistem informasi. Penerapan
dari J2EE adalah menyediakan kelas dasar dan API dari Java yang dapat
dikembangkan dan standard untuk aplikasi client maupun server, termasuk
aplikasi yang berjalan di web browser.
2.6 Telepon Selular
Telepon selular atau ponsel atau telepon genggam atau dalam Bahasa Inggris
disebut juga handphone adalah sebuah perangkat telekomunikasi elektronik yang
mempunyai kemampuan sama dengan telepon konvensional pada umumnya, akan tetapi
telepon selular bersifat wireless. Penemuan sistem telepon genggam atau handphone
pertama kali terjadi pada tahun 1973 oleh sebuah tim yang bekerja pada sebuah
perusahaan di Amerika. Penemuan ini berhasil menciptakan sebuah telepon genggam
seberat dua kilogram. Penemuan sistem telepon genggam ini erat kaitannya dengan
penemuan radio. Radio kemudian berkembang menjadi radio untuk komunikasi satu
arah dan berkembang terus sampai sekarang. Fungsi dan bentuk telepon selular juga
21
terus berkembang hingga sekarang. Mulai dari fungsi hanya untuk telepon dan
mengirimkan SMS saja hingga sekarang telepon selular dapat dijadikan asistan pribadi
dengan sistem operasi yang ditanam di dalamnya. Begitu juga dengan bentuk telepon
selular yang mengalami perkembangan dari bentuk dengan berat dua kilogram dan
sampai sekarang hanya seukuran telapak tangan manusia.
Telepon selular sudah menjadi kebutuhan primer bagi kebanyakkan orang di
seluruh dunia. Pada awal generasinya, telepon selular menggunakan sinyal analog dan
bersifat terbatas di daerah saja. Hingga sekarang ini, telepon selular telah memiliki
berbagai fitur canggih yang tertanam di dalamnya dan mendapat sebutan sebagai
smartphone untuk masyarakat dengan mobilitas tinggi. Generasi smartphone
memberikan kemudahan bagi para penggunanya, misalnya Android memberikan
kemudahan untuk mengakses internet dalam genggaman tangan dan memiliki aplikasi
yang semakin lengkap hampir menyerupai PC.
2.7 Android
Menurut Safaat, Nazruddin. (2011:1), mendefinisikan Android sebagai berikut :
“Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang
mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform yang
terbuka bagi para pengembang untuk menciptakan aplikasi mereka”.
Pada Juli 2000, Google Inc. bekerja sama dengan Android Inc. yang merupakan
perusahaan pendatang baru untuk membuat peranti lunak pada ponsel atau smartphone.
Para pendiri Android bertugas mengembangkan program perangkat selular yang
didukung oleh kernel Linux. Sejak kerjasama itu terjadi, banyak yang menganggap
22
fungsi Android adalah perangkat lunak pada telepon selular sehingga muncul rumor
bahwa Google akan memasuki pangsa pasar telepon selular. Kemudian untuk
mengembangkan Android, dibentuklah Open Handset Alliance adalah konsorsium 34
perusahaan yang terdiri dari perusahaan peranti keras, peranti lunak dan telekomunikasi.
Android pertama kali diperkenalkan ke pasaran September 2007, Google
mengajukan hak paten aplikasi telepon selularnya dengan mengenalkan dan
meluncurkan produk smartphone yang menggunakan Android sebagai sistem
operasinya. Pada saat perilisan perdananya, Android dan Open Handset Alliance
mendukung pengembangan open source pada perangkat mobile. Di lain pihak, Google
merilis kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan
platform perangkat telepon selular. Sejak peluncuran Android hingga sekarang, Android
berkembang sangat pesat dari segi teknologi hingga segi jumlah perangkat yang ada di
dunia. Hal ini dikarenakan sistem operasi yang open source dan bebas didistribusikan
serta dukungan sangat tinggi dari para komunitas open source di dunia.
Android disebut sebagai platform masa depan yang lengkap, terbuka dan bebas.
Lengkap karena programmer dapat mengembangkan platform dengan pendekatan
komprehensif dan dalam sistem operasi Android disediakan tools untuk membangun
software. Terbuka atau open source merupakan platform yang disediakan oleh Android
agar programmer dapat membuat aplikasinya tanpa lisensi. Bebas dikembangkan oleh
siapa saja dan bebas biaya untuk membayar lisensi atau royalti pada platform Android.
Android telah menjadi platform generasi baru yang mendasari perkembangan aplikasi
mobile masa depan.
23
2.7.1 Arsitektur Android
Dalam menjalankan sistem operasinya, Android mempunyai arsitektur yang
terdiri dari :
Gambar 2.10. Arsitektur Android
Sumber : http://studyfuture.blogspot.com/2011/03/arsitektur-android.html
a. Applications Widgets
Layer applications merupakan tempat yang menghubungkan antar aplikasi yaitu
hasil aplikasi yang didownload, menginstall aplikasi dan aplikasi yang berjalan.
Pada layer ini terdapat aplikasi inti yang berisi email, kalender, kontak, browser,
dan lain – lain. Aplikasi dibuat dengan menggunakan bahasa pemrograman Java.
b. Application Frameworks
24
Android
adalah
“Open
Development
Platform”.
Android
memberikan
kemudahan kepada pengembang untuk membangun aplikasi yang bagus dan
inovatif. Pengembang bebas mengakses perangkat keras, sumber informasi,
menjalankan service background, mengatur alarm, dan sebagainya. Pengembang
memiliki akses penuh menuju API (Application Programming Interface)
frameworks seperti yang dilakukan oleh aplikasi inti. Dalam arsitektur ini,
aplikasi dirancang agar dapat menggunakan kembali komponen yang sudah
digunakan (reuse). Para pembuat aplikasi melakukan pengembangan untuk
dijalankan di sistem operasi Android. Komponen – komponen yang termasuk di
dalam Applications Frameworks adalah sebagai berikut :
1.
Views merupakan komponen yang digunakan untuk membangun aplikasi
seperti list, grids, text boxes, buttons, dan embedded web browser
2.
Content Provider adalah komponen yang memungkinkan aplikasi untuk
mengakses data dari aplikasi lain, misalnya contacts atau untuk
membagi data
3.
Resource Manager adalah komponen yang menyediakan akses ke sumber
data yaitu localized strings, graphics, dan layout files
4.
Notification Manager adalah komponen yang bertugas mengatur semua
aplikasi sehingga menampilkan custom alerts pada the status bar
5.
Activity Manager adalah komponen yang mengatur siklus hidup dari
semua aplikasi
c. Libraries
25
Layer ini berada pada level yang sama dengan Android Run Time dan berisi fitur
Android yang biasanya digunakan oleh para pembuat aplikasi ketika mengakses
libraries untuk menjalankan aplikasi. Dalam layer ini berjalan di atas kernel dan
meliputi berbagai library C / C++ inti seperti Libc dan SSL serta :
1. Libraries media adalah library yang mendukung playback dan recording
dalam berbagai format audio dan video seperti MPEG4, H.264, MP3,
AAC, AMR, JPG, dan PNG
2. Libraries untuk mengatur tampilan
3. Libraries graphics yang terdiri dari SGL dan OpenGL untuk grafis 2D
dan 3D
4. Libraries SQLite adalah relational database engine dan tersedia untuk
semua aplikasi
5. Libraries SSL dan WebKit terintegrasi dengan web browser dan security
6. Libraries LiveWebcore mencakup modern web browser dengan engine
embedded web view
7. Libraries 3D adalah implementasi OpenGL ES 1.0 API’s. Pada library
ini menggunakan hardware 3D acceleration dan highly optimized 3D
software rasterizer
d. Android Run Time
Android Run Time terletak pada lapisan setelah Linux Kernel. Dalam Android
Run Time terdiri dari 2 bagian yang menjadi dasar untuk proses pembuatan
aplikasi Android, yaitu :
26
1. Core Libraries adalah aplikasi Android yang dibuat dengan bahasa
pemrograman Java dan merupakan sebuah libraries yang berfungsi
untuk menterjemahkan bahasa Java / C yang dilakukan oleh Core
Libraries.
2. Dalvik Virtual Machine (DVM) merupakan salah satu elemen kunci dari
Android dan virtual mesin berbasis register bukan virtual machine Java
yang dioptimalkan untuk menjalankan fungsi secara efisien, dimana
pengembangan dapat membuat linux kernel melakukan threading,
keamanan, proses dan fungsionalitas tingkat rendah serta manajemen
memori sehingga pembuat aplikasi dapat membuat aplikasi dengan
bahasa pemrograman C / C++ seperti sistem operasi linux.
e. Linux Kernel
Layer ini berisi inti dari sistem operasi Android yang terdiri dari sistem untuk
mengatur sistem proses, memori, resource, drivers, dan sistem lainnya. Kernel
berperan sebagai abstraction layer antara hardware dan keseluruhan software
Android dibangun di atas kernel Linux 2.6. Akan tetapi, secara keseluruhan
android bukan linux karena di dalam android tidak terdapat paket standar yang
dimiliki oleh linux lainnya. Linux adalah sistem operasi terbuka yang handal
dalam manajemen memori dan proses. Oleh karena itu pada android terdapat
beberapa servis yang diperlukan seperti keamanan, manajemen memori,
manajemen proses, jaringan dan lain – lain.
27
2.7.2 Instalasi
2.7.2.1 Instalasi Java
Aplikasi Android merupakan aplikasi yang dikembangkan dalam basis Java.
Oleh karena itu, sebelum memulai coding pengembangan aplikasi Android, dibutuhkan
program java pada komputer atau PC. Java adalah program yang telah termasuk dalam
repository dalam setiap versi dari Ubuntu dan memerlukan Sun Java SE versi 1.5 atau
versi 1.6 atau versi diatasnya agar dapat mengkompilasi aplikasi Android yang akan
dibuat. Untuk menginstalasi Java, dapat mengetik perintah dari terminal/console seperti
contoh
javac –version. Java dapat juga diinstal pada Windows dengan mengetik
perintah sama seperti Ubuntu dari cmd.
2.7.2.2 Instalasi Android SDK
Sebelum melakukan instalasi Android SDK, perlu dipastikan sistem operasi pada
komputer yang akan digunakan harus memenuhi syarat yaitu Windows XP (32 – bit),
atau Vista (32 – atau 64 – bit), atau Windows 7 (32 – atau 64 – bit), atau Linux (Ubuntu
versi 11.04 atau versi 12.04 LTS). Langkah selanjutnya setelah instalasi Java adalah
instalasi Android SDK (Software Development Kit) sebagai alat bantu dan API dalam
mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman
Java
dengan
mengunduh
secara
gratis
pada
website
resmi
google
di
http://www.android.com. Android SDK tidak membutuhkan instalasi, hanya dengan
meng – copy isi direktori Android SDK ke komputer. Untuk mengkonfigurasi, buat
direktori seperti contoh pada Windows (C:\Program Files\Android SDK) atau pada
28
Linux (home/useranda/AndroidSDK). Letak posisi folder Android SDK perlu diingat
karena selanjutnya akan melink posisi Android dengan IDE Eclipse sebagai aplikasi
coding yang akan digunakan dalam membuat program Android. Langkah berikutnya
setelah selesai melakukan instalasi Android SDK adalah sebagai berikut :
a. Instalasi IDE Eclipse Ganymede versi 3.4 atau lebih tinggi
b.
Instalasi Android Development Tools (ADT) Plugins dengan cara klik Menu
Help – Install Software Update, pilih Available Software pilih Add Site dan isi
location dengan https://dl-ssl.google.com/android/eclipse/ lalu klik OK dan klik
installs serta tunggu sampai proses instalasi ADT selesai.
c. Buat Android Virtual Device (AVD) dengan cara klik menu Windows dari
Eclipse lalu klik Android SDK and AVD Managers dan pilih virtual Device –
New. AVD berjalan di Virtual Machine dan sebagai emulator atau tempat tes
untuk menjalankan aplikasi android yang dibuat.
Menurut Winarno, Edy, Ali Zaki & SmitDev Community. (2011:14). Sistem
operating Android selalu diperbarui secara periodik, karena itu agar program dapat
berjalan, perlu diperhatikan beberapa saran seperti berikut ini :
a. Jangan menggunakan API internal atau API yang tidak didukung.
b. Jangan langsung memanipulasi setting tanpa meminta persetujuan dari user. Rilis
masa depan bisa jadi membatasi setting untuk alas an keamanan. Misal,
sebelumnya aplikasi dapat mengaktifkan GPS atau data roaming sendiri, tapi
sekarang tidak dapat dilakukan.
c. Jangan membuat layout terlalu kompleks karena kalau terlalu kompleks dapat
mengakibatkan crash.
29
d. Jangan mengasumsikan hardware akan selalu mendukung aplikasi. Tidak semua
perangkat Android memiliki hardware yang dibutuhkan karena cek terlebih
dahulu apakah peranti Android memiliki hardware yang dibutuhkan oleh
program atau tidak?
e. Pastikan orientasi device tidak mengganggu aplikasi atau aplikasi menjadi error
f. Gunakan library android sebelum menggunakan library Java. Library android
dibuat khusus untuk peranti embedded dan memiliki banyak persyaratan untuk
aplikasi. Untuk kasus lain, library Java juga diperlukan. Jika keduanya bisa
dipakai, usahakan untuk menggunakan library android.
g. Hati – hati dengan alokasi memori, pembuatan variable, dan penggunaan objek.
Usahakan untuk me – reuse objek dan hindari garbage collection. Alokasi
memori dapat di – tracking menggunakan Dalvik Debug Monitor.
2.7.3 Aplikasi Fundamental
Aplikasi Android dibuat dalam bahasa pemrograman Java. Program yang dibuat
akan dikompilasi dengan data file lain dan dalam proses kompilasinya di – package oleh
tools yang dinamakan “apt tools” serta menghasilkan file dengan ekstensi apk. File apk
ini yang disebut dengan aplikasi dan diinstal pada perangkat mobile. Terdapat 4 jenis
komponen pada aplikasi Android, yaitu :
a. Activities
Activities merupakan hal yang ada pada aplikasi Android. Sebuah activity,
biasanya berupa satu layar dalam aplikasi. Activity ini dinyatakan dengan sebuah
class tunggal yang merupakan perpanjangan atau extends dari class activity.
30
Class akan menampilkan interface yang tediri dari Views dan respons untuk
menjalankan aksi tertentu. Dan kebanyakan aplikasi Android terdiri atas
beberapa layar. Misalnya, ketika akan mengirim sms maka akan terlihat satu
layar yang berisi daftar kontak dan layar kedua untuk menulis isi sms.
b. Service
Service tidak memiliki Graphic User Interface (GUI), tetapi service berjalan
pada background. Contoh, ketika memainkan musik, service mungkin
memainkan musik atau mengambil data dari jaringan, tetapi service harus berada
dalam kelas utama. Misalnya, media player sedang memutar lagu dari daftar
lagu, aplikasi ini akan memiliki dua atau lebih activity yang memungkinkan
pengguna untuk memilih lagu atau mengetik sms sambil memutar lagu. Untuk
menjaga agar musik tetap berjalan, activity player dapat menjalankan service
pada thread utama dari proses aplikasi.
c. Broadcast Receiver
Broadcast Receiver berfungsi menerima dan menyampaikan notifikasi. Contoh
broadcast adalah seperti notifikasi zona waktu yang berubah, baterai habis,
gambar yang telah selesai diambil oleh kamera atau perubahan referensi bahasa
yang digunakan. Aplikasi juga dapat menginisiasi broadcast misalnya
memberikan informasi pada aplikasi lain bahwa data yang telah diunduh ke
perangkat dan siap untuk digunakan. Broadcast receiver tidak memiliki user
interface (UI) tetapi memiliki sebuah activity untuk merespon informasi yang
diterima atau mungkin menggunakan Notification Manager untuk memberitahu
pengguna seperti lampu layar atau perangkat getar dan lain sebagainya.
31
d. Content Provider
Content provider membuat kumpulan aplikasi data yang dapat digunakan secara
spesifik oleh aplikasi lain. Data disimpan dalam file sistem seperti database
SQLite. Content provider menyediakan cara untuk mengakses data yang
dibutuhkan oleh suatu activity, misalnya ketika aplikasi membutuhkan peta atau
aplikasi untuk mengakses data kontak dan navigasi dan fungsi content provider
berjalan.
2.7.4 Versi Android
Android telah mengalami perkembangan sistem operasi yang lebih baik sejak
pertama kali diluncurkan. Google terus memperbaiki kekurangan yang ada dengan
merilis beragam macam versi terbaru setiap 3 bulan. Versi Android yang pernah dirilis
adalah sebagai berikut :
a. Android versi 2.1 (Eclair)
Setelah versi 1.6 terakhir dirilis, Google meluncurkan kembali versi 2.1 dengan
perubahan yang dilakukan pada pengoptimalan hardware, tampilan, daftar
kontak, dan penambahan aplikasi lain pada handphone.
b. Android versi 2.2 (Froyo : Frozen Yoghurt)
Pada bulan Mei 2010, Android memperbarui sistemnya dan merilis versi 2.2.
Pada versi ini terdapat peningkatan kinerja terhadap versi sebelumnya yaitu
dukungan Adobe Flash 10.1, kecepatan kinerja dan kemampuan WiFi Hotspot
32
portabel, kemampuan auto update dalam aplikasi Android Market dan
kemampuan lainnya.
c. Android versi 2.3 (Gingerbread)
Setelah 7 bulan versi 2.2 dirilis, Android kembali meluncurkan versi 2.3 pada
Desember 2010. Pada saat skripsi ini ditulis, versi ini banyak digunakan dalam
smartphone Android. Dalam pembuatan program aplikasi membaca sms
menggunakan suara ini digunakan Android versi 2.3. Fitur yang terdapat di
dalamnya mengalami perubahan yaitu sebagai berikut :
1. Peningkatan kemampuan permainan (gaming), seleksi kata dan teks
dengan satu sentuhan serta peningkatan fungsi copy paste
2. Desain ulang layar antar muka (User Interface) agar lebih baik dalam
penghematan energi
3. Aplikasi pada keyboard seperti swype dan swiftkey yang dapat meramal
kata sehingga mempercepat penulisan, dan sebagainya.
Sampai saat ini, versi Android terbaru adalah versi 4.1 (Jelly Bean) dan akan
terus berkembang seiring dengan kebutuhan user dalam bidang smartphone dan untuk
mendapatkan informasi versi terbaru Android dapat dilihat di www.android.com
2.7.5 Teori Perancangan Aplikasi
2.7.5.1 View dan Teks
Pokok penyusun tampilan grafis disebut view. Setiap view dideskripsikan oleh
objek view yang tugasnya adalah menggambarkan area kotak dan meng – handle event
di area tersebut. View merupakan class dasar untuk objek widget yang berinteraksi
33
dengan user. Contoh widget adalah button, checkbox, textview, dan lain – lain. Objek
Viewgroup merupakan tipe view yang berfungsi sebagai container untuk menampung
beberapa view termasuk viewgroup lainnya. Viewgroup dapat menampung view dan
widget vertikal atau horizontal. Viewgroup merupakan class dasar bagi layout layar.
Layout mendefinisikan elemen user interface, posisi dan action yang dapat ditentukan
dalam bentuk XML atau Java. Biasanya layout awal dinyatakan dalam XML dan
perubahan saat run time dinyatakan di Java. Dengan menggunakan viewgroup dan
widget, pembuatan antarmuka menjadi lebih mudah. Berikut ini adalah widget yang
digunakan dalam membuat tampilan menu pada aplikasi android yang terdiri dari :
a. Button adalah tampilan kotak yang digunakan sebagai register ketika layar
disentuh pada bagian tengahnya.
b. CheckBox adalah sejenis button dengan tampilan cek dan deskripsi yang dapat
dipilih dan tidak dipilih. Pada perancangan program aplikasi ini menggunakan
checkbox sebagai tampilan visual menu untuk menjalankan aplikasi.
c. RadioButton adalah sejenis button dengan tampilan titik yang dapat dipilih
ketika disentuh tetapi tidak dapat dimatikan. Radio button dapat digabungkan
dan dikelompokkan lebih dari satu radio button menjadi satu kesatuan dan hanya
dapat dipilih satu radio button saja.
d. Spinner
adalah
button
yang
menunjukkan
pemilihan
sekarang
dan
memungkinkan grafik untuk menunjukkan. Ketika spinner disentuh, maka nilai
yang ada akan ditampilkan dan ketika pemilihan dibuat, maka akan ditampilkan
di spinner.
34
e. ProgressBar adalah sebuah bilah yang menyala secara visual yang menunjukkan
persentase kemajuan sebuah proses.
2.7.5.2 Audio di Android
Suara atau audiodi android terdiri dari dua macam framework yang dapat dipakai
untuk merekam dan memainkan file audio dan tergantung pada aplikasi yang dijalankan.
Dua macam framework tersebut adalah sebagai berikut :
a. Media Player / Media Recorder merupakan metode standar untuk memanipulasi
audio tetapi hanya dapat digunakan untuk file audio berbasis file atau stream
data. Metode ini diproses dengan cara menciptakan thread sendiri.
b. Audio Track / Audio Recorder merupakan metode yang menyediakan akses
direct ke raw audio. Digunakan untuk memanipulasi audio di memori dan akan
menuliskan buffer pada saat menjalankan audio atau penggunaan lain yang tidak
membutuhkan file atau stream. Pada metode ini tidak menciptakan thread
sendiri.
2.7.5.3 User Interface Hardware
Pada perancangan program aplikasi berbasis Android, digunakan user interface
hardware berupa sensor. Dalam smartphone Android terdapat sensor yang canggih dan
powerful berkat kemajuan dunia elektronika yaitu Micro Electro Mechanical Systems
(MEMS). MEMS adalah sumber alat sensor yang dibuat menjadi mudah. Berikut ini
beberapa sensor yang digunakan dan terdapat dalam Android :
a. TYPE_ACCELEROMETER digunakan untuk mengatur akselarasi dalam 1 m/s2
. Sensor ini digunakan dalam perancangan program aplikasi.
35
b. TYPE_ALL digunakan untuk mengukur tipe sensor dan merupakan konstanta.
c. TYPE_GYROSCOPE digunakan untuk mengukur orientasi berdasarkan
momentum sudut.
d. TYPE_LIGHT digunakan untuk mengukur cahaya ambient di lux.
e. TYPE_MAGNETIC_FIELD digunakan untuk mengukur medan magnet dalam
satuan
(mikro Tesla).
f. TYPE_PRESSURE digunakan untuk mengukur tekanan udara.
g. TYPE_PROXIMITY digunakan untuk mengatur objek penghalang dalam
sentimeter
h. TYPE_TEMPERATURE digunakan untuk mengukur temperature dalam derajat
celcius.
2.8 Aplikasi Mobile
Aplikasi mobile atau mobile application adalah proses pembuatan dan
pengembangan aplikasi untuk perangkat gengam, misalnya telepon selular. Aplikasi
mobile telah terdapat dalam telepon selular pada saat proses pembuatan, atau sekarang
ini dapat didownload oleh pengguna dari aplikasi market yang tersedia dalam perangkat
telepon selular. Sebuah aplikasi mobile mempunyai karakteristik sebagai berikut :
a. Ukuran yang kecil
b. Memori yang terbatas
c. Daya proses yang terbatas
d. Penggunaan daya yang rendah
e. Konektivitas yang terbatas
36
2.8.1 Tipe Aplikasi Mobile
Salah satu tipe aplikasi berupa mobile adalah SMS. Menurut Fling, Brian
(2009:70). SMS adalah aplikasi paling dasar yang dapat dibuat dan dirancang terlebih
dahulu. dan aplikasi yang terintegrasi dengan aplikasi lain. Aplikasi SMS ini terdapat
beragam macam jenis seperti pengguna yang mengirimkan kata kunci kepada konten
premium dan dibalas dengan konten berupa link ke sebuah website. Aplikasi SMS
mempunyai dua macam sifat yaitu bebas dan premium. Bebas berarti tidak ada biaya
tambahan di luar biaya SMS. Premium berarti terdapat biaya tambahan dalam
pertukaran konten. Terdapat keunggulan dan kelemahan dari aplikasi SMS. Keunggulan
dari aplikasi SMS adalah
a. SMS bekerja pada setiap perangkat mobile secara kontinu.
b. SMS berguna untuk mengirimkan “alert” tepat waktu kepada pengguna.
c. SMS dapat dimasukkan ke dalam web atau aplikasi mobile.
d.
SMS dapat digunakan untuk mengatur dan mengelola.
Kelemahan dari aplikasi SMS adalah
a. SMS hanya terbatas sampai 160 karakter.
b. SMS memberikan pengalaman berbasis teks yang terbatas.
c. SMS dapat menjadi sangat mahal.
2.9 Unified Modeling Language
Unified Modeling Language atau disingkat dengan UML adalah sebuah bahasa
dari gambaran perancangan program berorientasi objek berdasarkan diagram atau grafik
yang digunakan sebagai visualisasi, spesifikasi, dan dokumentasi. Dalam perancangan
37
program berorientasi objek, UML mendeskripsikan berdasarkan diagram yang terdiri
dari :
a. Structural Diagram
1. Class Diagram
Mendeskripsikan jenis – jenis objek dalam sistem dan berbagai macam
hubungan statisyang terjadi. Class diagram menunjukkanproperti dan
operasi sebuah Class dan batasan yang terdapat dalam hubungan dengan
objek. Class diagram merupakan alat terbaik dalam perancangan
perangkat lunak. Class diagram membantu pengembang mendapatkan
struktur sistem dan menghasilkan rancangan sistem yang baik.
2. Deployment Diagram
Menggambarkan elemen perangkat keras yang merupakan bagian
arsitektur fisik dari perancangan sistem.
b. Behavioral Diagram
1. Use Case Diagram
Memodelkan proses berdasarkan pandangan user.Use case diagram
terdiri atas diagram untuk use case dan aktor. Aktor adalah orang yang
berinteraksi dengan sistem aplikasi.
2. Sequence Diagram
Urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari
Use Case, interaksi antar class dan urutan proses yang terlibat.
3. Activity Diagram
Menampilkan proses secara prosedur dari elemen sistem.
38
2.10 Flowchart
Flowchart adalah bagan yang menggambarkan secara grafik tentang langkah
penyelesaian suatu masalah dan berisi urutan suatu prosedur dari sebuah program.
Bertujuan untuk membantu menyelesaikan masalah dari penggambaran tahapan secara
sederhana yang menggunakan notasi dan simbol – simbol standar. Flowchart terbagi ke
dalam 5 jenis yang terdiri dari :
a. Flowchart Sistem (System Flowchart)
Merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan
di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur –
prosedur yang terdapat di dalam sistem. Dengan kata lain, flowchart ini
merupakan deskripsi secara grafik dari urutan prosedur – prosedur yang
terkombinasi dan membentuk suatu sistem.
b. Flowchart Paperwork atau Flowchart Dokumen (Document Flowchart)
Flowchart paperwork menelusuri alur dari data yang ditulis melalui sistem.
Flowchart paperwork sering disebut juga dengan flowchart dokumen. Kegunaan
utama dari flowchart ini adalah untuk menelusuri alur form dan laporan sistem
dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses,
dicatat dan disimpan.
c. Flowchart Skematik (Schematic Flowchart)
39
Mirip dengan flowchart sistem yang menggambarkan suatu sistem atau prosedur.
Flowchart skematik ini bukan hanya menggunakan simbol – simbol flowchart
standar, tetapi juga menggunakan gambar – gambar komputer, peripheral, form –
form atau peralatan lain yang digunakan dalam sistem. Flowchart skematik
digunakan sebagai alat komunikasi antara analis sistem dengan seseorang yang
tidak familiar dengan simbol – simbol flowchart yang konvensional. Pemakaian
gambar sebagai ganti dari simbol – simbol flowchart akan menghemat waktu
yang dibutuhkan oleh seseorang untuk mempelajari simbol abstrak sebelum
dapat mengerti flowchart.
d. Flowchart Program (Program Flowchart)
Flowchart program dihasilkan dari flowchart sistem. Flowchart program
merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah
program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan
setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi.
e. Flowchart Proses (Process Flowchart)
Merupakan teknik penggambaran rekayasa industrial yang memecah dan
digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan
proses – proses manufacturing. Dalam analisis sistem, flowchart ini digunakan
secara efektif untuk menelusuri alur suatu laporan atau form.
Download