BAB I
-
Upload
lockon-stratos -
Category
Documents
-
view
115 -
download
1
Transcript of BAB I
TUGAS
PEMROGRAMAN PLATFORM INDEPENDENT
APLIKASI TEXT TO SPEECH BERBASIS ANDROID
OLEH
ARIEF TAUFIKURRAHMAN
F1B 008 044
FAKULTAS TEKNIK JURUSAN ELEKTRO
UNIVERSITAS MATARAM
2012
BAB I
PENDAHULUAN
1.1 Android
Android adalah sistem operasi untuk telepon seluler yang berbasis
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, peranti lunak, 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 Google atau dikenal sebagai Open Handset
Distribution (OHD).
Saat ini disediakan Android SDK (Software Development Kit) sebagai
alat bantu dan API yang dperlukan untuk mulai mengembangkan aplikasi
berbasis Android dengan menggunakan bahasa pemrograman Java.
1.1.1 Fitur Android
1. Framework Aplikasi yang mendukung penggantian komponen dan
reusable.
2. Mesin virtual Dalvik dioptimalkan untuk perangkat mobile.
3. Integrated browser berdasarkan engine open source WebKit.
4. Grafis yang dioptimalkan dan didukung oleh perpustakaan grafis
2D, grafis 3D berdasarkan spesifikasi opengl ES 1,0 (Opsional
akselerasi hardware).
5. SQLite untuk penyimpanan data.
6. Media Support yang mendukung audio, video, dan gambar
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
7. GSM Telephony (tergantung hardware).
8. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware).
9. Kamera, GPS, kompas, dan accelerometer (tergantung hardware).
10. Lingkungan Development yang lengkap dan kaya termasuk
perangkat emulator, tools untuk debugging, profil dan kinerja
memori, dan plugin untuk Eclipse IDE.
1.1.2 Arsitektur Android
Secara garis besar, Arsitektur Android terbagi menjadi 5
komponen utama, yaitu Application and Widgets, Application
Framework, Libaries, Android Runtime dan Linux Kernel.
Gambar 1.1 Komponen Utama Android
Applications and Widgets
Applications dan Widgets ini adalah layer di mana kita
berhubungan dengan aplikasi saja, di mana biasanya kita download
aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi
tersebut. Pada layer tersebut terdapat aplikasi inti seperti email,
SMS, kalender, peta, browser, kontak, dan lain sebagainya. Widgets
terdiri dari layer-layer seperti EditText, Spinner, Button, TextView,
dan lain-lain.
Applications Frameworks
Android merupakan platform yang terbuka, artinya Android
menawarkan serta memberikan kemampuan kepada para
pengembangnya untuk membangun aplikasi yang bagus dan inovatif.
Tiap pengembang bebas untuk mengakses perangkat keras, akses
informasi resources, menjalankan service background, mengatur
alarm, dan lain-lain. Pengembang memiliki akses penuh ke API
Framework seperti yang dilakukan oleh aplikasi inti. Arsitektur
aplikasi dirancang agar kita dengan mudah dapat menggunakan
kembali komponen yang sudah digunakan (reusable).
Komponen pada Applications Frameworks Android adalah
sebagai berikut:
1. Views
2. Content Provider
3. Resource Manager
4. Notification Manager
5. Activity Manager
Libraries
Merupakan layer di mana fitur-fitur Android berada, biasanya
para pengembang aplikasi mengakses libraries untuk menjalankan
aplikasinya. Berjalan di atas kernel, layer ini meliputi berbagai
library C/C++ inti seperti Lib-C dan SSL, serta:
- Libraries media untuk pemutaran media audio dan video
- Libraries untuk manajemen tampilan
- Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D
dan 3D
- Libraries SQLite untuk dukungan database
- Libraries SSL dan WebKit terintegrasi dengan web browser dan
security
- Libraries LiveWebcore mencakup modern web browser dengan
engine embeded web view
- Libraries 3D yang mencakup implementasi API OpenGL ES 1.0
Android Runtime
Merupakan layer yang membuat aplikasi Android dapat
dijalankan di mana dalam prosesnya menggunakan implementasi
Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang
membentuk dasar kerangka aplikasi Android. Di dalam Android
runtime dibagi menjadi dua bagian yaitu:
- Core Libraries: Aplikasi Android dibangun dalam bahasa Java,
sementara Dalvik sebagai mesin virtualnya, bukan JVM (Java
Virtual Machine). Sehingga dibutuhkan sebuah libraries yang
berfungsi untuk menterjemahkan bahasa Java/C yang ditangani
oleh Core Libraries ini.
- Dalvik Virtual Machine: Virtual mesin yang berbasis register
yang dioptimalkan untuk menjalankan fungsi-fungsi secara
efisien, di mana merupakan pengembangan yang mampu
membuat Linux kernel untuk melakukan threading dan
manajemen tingkat rendah.
Linux Kernel
Adalah layer dimana inti dari sistem operasi Android itu
berada. Berisi file-file sistem yang mengatur pemrosesan sistem,
memory, resource, drivers, dan sistem-sistem operasi Android
lainnya. Linux kernel yang digunakan Android adalah Linux kernel
rilis 2.6.
1.1.3 Perkembangan Android
Sekitar September 2007 sebuah studi melaporkan bahwa Google
mengajukan hak paten aplikasi telepon seluler (akhirnya Google
mengenalkan Nexus One, salah satu jenis telepon pintar GSM yang
menggunakan Android pada sistem operasinya. Telepon seluler ini
diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5
Januari 2010).
Pada 9 Desember 2008, diumumkan anggota baru yang
bergabung dalam program kerja Android ARM Holdings, Atheros
Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd,
Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc.
Seiring pembentukan Open Handset Alliance, OHA mengumumkan
produk perdana mereka, Android, perangkat bergerak (mobile) yang
merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah
dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan
fitur baru.
Telepon pertama yang memakai sistem operasi Android adalah
HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung
tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis
telepon seluler yang menggunakan Android.
Android versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1. Android
versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam
alarm, voice search (pencarian suara), pengiriman pesan dengan
Gmail dan pemberitahuan email.
Android versi 1.5 (Cupcake)
Pada pertengahan Mei 2009, Google kembali merilis telepon
seluler dengan menggunakan Android dan SDK (Software
Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa
pembaruan termasuk juga penambahan beberapa fitur dalam seluler
versi ini yakni kemampuan merekam dan menonton video dengan
modus kamera, mengunggah video ke Youtube dan gambar ke
Picasa langsung dari telepon, dukungan Bluetooth A2DP,
kemampuan terhubung secara otomatis ke headset Bluetooth,
animasi layar, dan keyboard pada layar yang dapat disesuaikan
dengan sistem.
Android versi 1.6 (Donut)
Donut (versi 1.6) dirilis pada September dengan menampilkan
proses pencarian yang lebih baik dibanding sebelumnya, penggunaan
baterai indikator dan kontrol applet VPN. Fitur lainnya adalah galeri
yang memungkinkan pengguna untuk memilih foto yang akan
dihapus; kamera, camcorder dan galeri yang dintegrasikan; CDMA /
EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine;
kemampuan dial kontak; teknologi text to change speech (tidak
tersedia pada semua ponsel; pengadaan resolusi VWGA.
Android versi 2.0/2.1 (Eclair)
Pada 3 Desember 2009 kembali diluncurkan ponsel Android
dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah
pengoptimalan hardware, peningkatan Google Maps 3.1.2,
perubahan UI dengan browser baru dan dukungan HTML5, daftar
kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital
Zoom, dan Bluetooth 2.1.
Untuk bergerak cepat dalam persaingan perangkat generasi
berikut, Google melakukan investasi dengan mengadakan kompetisi
aplikasi mobile terbaik (killer apps - aplikasi unggulan). Kompetisi
ini berhadiah $25,000 bagi setiap pengembang aplikasi terpilih.
Kompetisi diadakan selama dua tahap yang tiap tahapnya dipilih 50
aplikasi terbaik.
Dengan semakin berkembangnya dan semakin bertambahnya
jumlah handset Android, semakin banyak pihak ketiga yang
berminat untuk menyalurkan aplikasi mereka kepada sistem operasi
Android. Aplikasi terkenal yang diubah ke dalam sistem operasi
Android adalah Shazam, Backgrounds, dan WeatherBug. Sistem
operasi Android dalam situs Internet juga dianggap penting untuk
menciptakan aplikasi Android asli, contohnya oleh MySpace dan
Facebook.
Android versi 2.2 (Froyo: Frozen Yoghurt)
Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan.
Perubahan-perubahan umumnya terhadap versi-versi sebelumnya
antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan
aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript engine
yang dipakai Google Chrome yang mempercepat kemampuan
rendering pada browser, pemasangan aplikasi dalam SD Card,
kemampuan WiFi Hotspot portabel, dan kemampuan auto update
dalam aplikasi Android Market.
Android versi 2.3 (Gingerbread)
Pada 6 Desember 2010, Android versi 2.3 (Gingerbread)
diluncurkan. Perubahan-perubahan umum yang didapat dari Android
versi ini antara lain peningkatan kemampuan permainan (gaming),
peningkatan fungsi copy paste, layar antar muka (User Interface)
didesain ulang, dukungan format video VP8 dan WebM, efek audio
baru (reverb, equalization, headphone virtualization, dan bass boost),
dukungan kemampuan Near Field Communication (NFC), dan
dukungan jumlah kamera yang lebih dari satu.
Android versi 3.0/3.1 (Honeycomb)
Android Honeycomb dirancang khusus untuk tablet. Android
versi ini mendukung ukuran layar yang lebih besar. User Interface
pada Honeycomb juga berbeda karena sudah didesain untuk tablet.
Honeycomb juga mendukung multi prosesor dan juga akselerasi
perangkat keras (hardware) untuk grafis. Tablet pertama yang dibuat
dengan menjalankan Honeycomb adalah Motorola Xoom. Perangkat
tablet dengan platform Android 3.0 akan segera hadir di Indonesia.
Perangkat tersebut bernama Eee Pad Transformer produksi dari
Asus. Rencana masuk pasar Indonesia pada Mei 2011.
Android versi 4.0 (ICS :Ice Cream Sandwich)
Diumumkan pada tanggal 19 Oktober 2011, membawa fitur
Honeycomb untuk smartphone dan menambahkan fitur baru
termasuk membuka kunci dengan pengenalan wajah, jaringan data
pemantauan penggunaan dan kontrol, terpadu kontak jaringan sosial,
perangkat tambahan fotografi, mencari email secara offline, dan
berbagi informasi dengan menggunakan NFC.
BAB II
PERSIAPAN CODING
2.1 Eclipse
Eclipse merupakan IDE yang digunakan dalam membangun aplikasi
berbasis Android yang bersifat free (gratis) dan dapat di download pada
halaman http://www.eclipse.org/downloads/ .Terdapat banyak versi dari
Eclipse, antara lain Ganymede (3.4), Galileo (3.5), Helios (3.6) dan Indigo
(3.7). Versi Eclipse 3.4 ke atas memiliki support terhadap pengembangan
aplikasi Android menggunakan ADT (Android Development Tools).
2.2 Instalasi Android SDK
Dalam instalasi Android SDK, diasumsikan bahwa Java telah terinstall
pada computer, SDK diperlukan sebagai alat bantu dan API dalam
membangun aplikasi berbasis Android dengan menggunakan bahasa
pemrograman Java. Android SDK bersifat free (gratis) dan dapat di download
pada website resmi google yng beralamat http://www.developer.android.com
dan dapat di download juga pada alamat
http://code.google.com/android/download.html.
2.2.1 Instalasi Eclipse
Versi Eclipse yang digunakan kali ini adalah Indigo (3.7), versi
ini dapat di download pada
http://www.eclipse.org/downloads/packages/eclipse-ide-java-
developers/indigosr1. Setelah itu ekstrak file tersebut ke direktori yang
diinginkan, kali ini direktori yang digunakan yaitu “C:\Program Files\
Eclipse”.
2.2.2 Instalasi ADT Plugin
Jalankan aplikasi Eclipse kemudian pilih menu Help dan Install
New Software.
Gambar 2.1 Instalasi ADT
Klik tombol add lalu isi Name dan Location seperti gambar di bawah
ini
Gambar 2.2 Memberikan nama dan location dari repository
Klik OK dan tunggu hingga pilihan Developer Tools muncul
Gambar 2.3 Menambahkan repository
Berikan tanda centang pada Developer Tools lalu pilih Next.
2.2.3 Mengaktifkan AVD (Android Virtual Device)
Pada tahap ini diasumsikan bahwa Android SDK yang digunakan
yaitu API Level 15 (Android 4.0.3). Selanjutnya pilih menu Window
dan AVD Manager seperti gambar di bawah ini
Gambar 2.4 Membuka AVD Manager
Tahap selanjutnya pilih New dan akan mucul konfigurasi untuk AVD
seperti gambar di bawah ini dan klik Create.
Gambar 2.5 Membuat AVD
2.2.4 Mencoba AVD
Untuk mengetahui apakah AVD berjalan dengan baik maka AVD
dapat dijalankan dengan memilih menu Window dan AVD Manager.
Selanjutnya pilih AVD yng akan dijalankan dan pilih Start lalu
Launch seperti gambar di bawah ini.
Gambar 2.6 Menjalankan AVD
Selanjutnya computer akan menjalankan AVD dan apabila AVD
bekerja dengan baik, maka tampilannya akan seperti ini.
Gambar 2.7 Tampilan AVD dari Android ICE (4.0.3)
BAB III
PERANCANGAN TEXT TO SPEECH
Pada tahap ini diasumsikan bahwa seluruh tahapan instalasi dari Android
SDK berjalan dengan baik dan menggunakan Eclipse Indigo (7.0.1) serta Android
API Level 15 (4.0.3).
3.1 Membuat Project Baru
Untuk memulai project baru pada Eclipse, dapat dilihat pada gambar di
bawah ini :
Gambar 3.1 Membuat Project baru
Kemudian pilih Android Project seperti gambar di bawah ini :
Gambar 3.2 Memilih Project yang akan dibuat
Selanjutnya berikan nama untuk Project tersebut seperti gambar di bawah ini :
Gambar 3.3 Memberikan nama pada Project
Langkah selanjutnya yaitu memilih SDK Target yang dimana merupakan
level API dari Android yang digunakan untuk menjalankan script program
yang akan dibuat. Kali ini SDK Target yang digunakan yaitu Android ICE
4.0.3 (API Level 15). Sebagai catatan, semakin tinggi level API yang
digunakan, maka semakin rendah pula kompatibilitas program yang
dihasilkan dengan level API yang lebih rendah.
Gambar 3.4 Menentukan SDK Target
Selanjutnya berikan nama bagi packagenya dan pilih Finish.
3.2 XML Untuk GUI
XML digunakan untuk mengatur GUI dari aplikasi berbasis Android
dan di dalam aplikasi ini, file main.xml merupakan file XML yang digunakan
aplikasi untuk mengatur tampilannya. Berikut script file XML dari aplikasi
Text to Speech :
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:text = "Android Text to Speech (English)" android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> < EditText android:id = "@+id/input_text"
android:text=""android:layout_width="fill_parent" android:layout_height="wrap_content"
/>
<Button android:id="@+id/speak_button" android:text = "OK" android:layout_width="wrap_content" android:layout_height="wrap_content"
/> </LinearLayout>
Pada file XML diatas, terdapat beberapa tag yang dijelaskan pada tabel di
bawah ini :
Tag Keterangan
LinearLayout Digunakan untuk pengaturan tiap komponen
yang hanya dapat saling berurutan dari atas ke
bawah.
Relative Layout Digunakan untuk pengaturan tiap komponen
yang posisinya dapat ditentukan dengan
memanfaatkan tag – tag tambahan.
TextView Digunakan untuk menampilkan sebuah label.
EditText Digunakan untuk menampilkan text field atau
kotak isian text.
Button Digunakan untuk menampilkan sebuah tombol.
Android:id Digunakan untuk memberikan nama pada
komponen yang dibuat agar dapat digunakan
pada file java.
Android:layout_width Mengatur lebar dari sebuah komponen.
Android:layout_height Mengatur tinggi dati sebuah komponen.
Android:text Mengatur tulisan yang akan ditampilkan pada
komponen yang dapat diambil dari resource
String pada file strings.xml.
3.3 Java Programming
File main.xml digunakan untuk mengatur tampilan dari aplikasi Text to
Speech, selanjutnya untuk menangkap event seperti input pada EditText,
Button click dan mengubah text menjadi suara akan akan di handle
sepenuhnya oleh Java. Berikut Script program Java pada aplikasi Text to
Speech :
ttsActivity.java
package com.ppi.arief;
import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.speech.tts.TextToSpeech;import android.speech.tts.TextToSpeech.OnInitListener;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;
public class ttsActivity extends Activity implements OnInitListener {
private int CHECK_CODE = 0;private TextToSpeech tts;private EditText inputText;private Button bacaButton;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.main);
inputText = (EditText) findViewById(R.id.input_text); bacaButton = (Button) findViewById(R.id.speak_button); bacaButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {String text =
inputText.getText().toString();if (text!=null && text.length()>0) {
Toast.makeText(ttsActivity.this, "Speak : " + text, Toast.LENGTH_LONG).show();
tts.speak(text, TextToSpeech.QUEUE_ADD, null);
}}
}); Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, CHECK_CODE);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CHECK_CODE) {if (resultCode ==
TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {tts = new TextToSpeech(this, this);
} else {
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);}
}
}
public void onInit(int status) {if (status == TextToSpeech.SUCCESS) {
Toast.makeText(ttsActivity.this, "API Text to Speech
Diaktifkan", Toast.LENGTH_LONG).show();}else if (status == TextToSpeech.ERROR) {
Toast.makeText(ttsActivity.this, "API Text to Speech Tidak
Dapat Diaktifkan !", Toast.LENGTH_LONG).show();}
}}
3.4 Running Aplikasi
Setelah selesai, selanjutnya yaitu me-running aplikasi tersebut dengan
cara klik kanan pada nama project yang akan di-running kemudian pilih Run
As dan Android Application sehingga Eclipse akan mengaktifkan AVD dan
tampilan aplikasinya akan seperti gambar di bawah ini :
Gambar 3.5 Aplikasi Text to Speech di dalam AVD
Output dari aplikasi ini yaitu berupa suara sehingga tidak dapat
ditampilkan secara visual di AVD dan output akan dikeluarkan melalui
speaker computer.
DAFTAR PUSTAKA
http://alphabet7.blogspot.com/2011/10/arsitektur-sistem-operasi-android.html
http://blog.uad.ac.id/ervitakusumaputri/2011/03/26/arsitektur-android/
http://developer.android.com/resources/articles/tts.html
http://id.wikipedia.org/wiki/Android_%28sistem_operasi%29