bab i

31
TUGAS PEMROGRAMAN PLATFORM INDEPENDENT APLIKASI TEXT TO SPEECH BERBASIS ANDROID OLEH ARIEF TAUFIKURRAHMAN F1B 008 044 FAKULTAS TEKNIK JURUSAN ELEKTRO UNIVERSITAS MATARAM

Upload: lockon-stratos

Post on 24-Jul-2015

115 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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

Page 2: BAB I

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.

Page 3: BAB I

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

Page 4: BAB I

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

Page 5: BAB I

- 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.

Page 6: BAB I

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

Page 7: BAB I

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

Page 8: BAB I

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.

Page 9: BAB I

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.

Page 10: BAB I

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”.

Page 11: BAB I

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

Page 12: BAB I

Klik OK dan tunggu hingga pilihan Developer Tools muncul

Gambar 2.3 Menambahkan repository

Berikan tanda centang pada Developer Tools lalu pilih Next.

Page 13: BAB I

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

Page 14: BAB I

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)

Page 15: BAB I

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

Page 16: BAB I

Selanjutnya berikan nama untuk Project tersebut seperti gambar di bawah ini :

Gambar 3.3 Memberikan nama pada Project

Page 17: BAB I

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.

Page 18: BAB I

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

Page 19: BAB I

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);

Page 20: BAB I

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

Page 21: BAB I

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.

Page 22: BAB I

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