NILAI SERATUS TUGASKU

Minggu, 08 Juli 2012

pengetahuan Android

2.2.1. Android

Android merupakan sebuah sistem operasi terbuka yang diperuntukan untuk perangkat bergerak (mobile device). Dikembangkan oleh Open Handset Alliance yang terdiri dari pengembang software, hardware dan provider seperti Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan NVIDIA yang bertujuan membuat sebuah standar terbuka untuk perangkat bergerak (mobile device). Pada Juli 2005 Android telah diakuisisi oleh Google dan pada 5 November 2007 barulah secara resmi Android dirilis oleh Google.

Dalam pengembangan aplikasi Android menyediakan Android SDK yang menyediakan tools dan API untuk para pengembang aplikasi dengan platform Android. Android menggunakan Java sebagai bahasa pemogramannya.

2.2.1.1. Fitur Android

Berikut ini berbagai fitur dari sistem operasi Android:

1. Rancangan handset. Platform disesuaikan dengan kebutuhan VGA (Video Graphics Adapter) yang lebih besar, library grafis 2D dan 3D yang berdasarkan pada spesifikasi OpenGL ES 1.0 serta layout smartphone yang tradisional.

2. Penyimpanan. Android menggunakan software database SQLite sebagai penyimpanan data.

3. Konektivitas. Android mendukung berbagai teknologi konektivitas, seperti GSM (Global System for Mobile Communications)/EDGE (Enhanced Data rates for GSM Evolution), CDMA (Code Division Multiple Access), EV-DO (Evolution-Data Optimized), UMTS (Universal Mobile Telecommunications System), bluetooth dan Wi-Fi (Wireless Fidelity).

4. Pesan. Android mendukung pengiriman pesan dalam bentuk SMS (Short Message Service) dan MMS (Multimedia Messaging Service).

5. Web browser. Web browser yang tersedia di Android berdasarkan pada framework aplikasi open source WebKit.

6. Dukungan Java. Software yang ditulis dalam bahasa Java dapat dikompilasi dan dieksekusi pada mesin virtual Dalvik, yang merupakan implementasi dari VM (Virtual Machine) yang dirancang khusus untuk penggunaan perangkat bergerak.

7. Dukungan media. Android mendukung beberapa format audio/video seperti: H.263, H.264 (dalam kontainer 3GP atau MP4), MPEG-4 SP, AMR, AMR-WB (dalam kontainer 3GP), AAC, HE-AAC (dalam kontainer MP4 atau 3GP), MP3, MIDI, OGG Vorbis, WAV, JPEG, PNG, GIF dan BMP.

8. Dukungan hardware lainnya. Android mendukung penggunaan kamera, layar sentuh, GPS (Global Positioning System), accelerometers, magnetometers, akselerasi 2D bit blits (dengan orientasi hardware, scaling, konversi format piksel) dan akselerasi grafis 3D.

9. Lingkungan Development. Android menyediakan perangkat emulator, debugger, memori dan profil kinerja yang tersedia pada plugin Eclipse IDE (Integrated Development Environment).

10. Market. Mirip dengan App Store pada iPhone OS, Android Market adalah sebuah katalog aplikasi yang dapat di-download dan diinstal pada telepon seluler secara online, tanpa menggunakan PC (Personal Computer).Awalnya hanya aplikasi gratis saja yang didukung.Dan sejak tanggal 19 Februari 2009 aplikasi berbayar telah tersedia di Android Market untuk Amerika Serikat.

11. Multi-touch. Android memiliki dukungan bawaan untuk multi-touch yang tersedia pada handset terbaru, seperti HTC Hero.Pada awalnya fitur tersebut dinonaktifkan pada level kernel (mungkin untuk menghindari pelanggaran paten terhadap teknologi layar sentuh Apple). Sejak Google merilis update untuk Nexus One dan juga berencana untuk merilis update untuk Motorola Droid yang memungkinkan multi-touch.

2.2.1.2. Antarmuka Pengguna Android

Antarmuka Android dapat dibangun melalui dua cara, yaitu dengan menulis kode XML atau dengan menulis kode Java. Penggambaran struktur antarmuka dengan menggunakan kode XML sangat dianjurkan dan lebih baik tentunya. Karena menurut prinsip Model-Viewer-Control bahwa antarmuka pengguna sebaiknya selalu dipisahkan dari logika program. Selain itu, adaptasi sebuah program dari suatu resolusi layar ke resolusi layar lainnya menjadi lebih mudah.

2.2.1.3. Persamaan antarmuka Android menggunakan XML dengan Java Swing

Ada beberapa persamaan antara struktur layout menggunakan XML untuk antarmuka Android dengan antarmuka Java menggunakan Java Swing, antara lain:

- Pada Android XML-Layout dikenal Activity, pada Java Swing dikenal (J)Frame.

- Pada Android XML-Layout dikenal View, pada Java Swing dikenal (J)Component.

- Pada Android XML-Layout dikenal TextView, pada Java Swing dikenal (J)Label

- Pada Android XML-Layout dikenal EditText, pada Java Swing dikenal (J)TextField

- Pada Android XML-Layout dikenal Button, pada Java Swing dikenal (J)Button

2.2.1.4. Pengembangan Aplikasi Android

Ada 4 hal mendasar yang harus kita pahami dalam membangun aplikasi berbasis Android.

- Activity, adalah tampilan grafis yang kita lihat ketika menjalankan sebuah aplikasi. Aplikasi dapat memiliki lebih dari satu Activity.

- Intent, adalah serangkaian nilai yang menunjukan apa yang harus dilakukan ketika terjadi perpindahan layar.

- Service, adalah layanan yang bekerja di belakang layar (background).

- Content provider, memungkinkan sebuah aplikasi untuk dapat menyimpan dan menerima data dari database.

2.2.2 Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent).

Gambar 2.1 Area Kerja Eclipse Galileo

Beberapa sifat Eclipse

Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.

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

Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse dapat populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, uji perangkat lunak, pengembangan web dan sebagainya.

Eclipse pada saat ini merupakan salah satu IDE populer dikarenakan gratis dan open source, yang berarti setiap orang dapat melihat dan memodifikasi source code perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya komponen yang dinamakan plugin. Eclipse awalnya dikembangkan oleh perusahaan IBM (International Business Machines) 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 Foundation mengambil alih untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya. Sejak tahun 2006 Eclipse Foundation secara rutin merilis versi Eclipse setiap tahun. Setiap rilis kemudian diberi kode sesuai dengan berbagai nama bintang dari planet Jupiter. Diantaranya adalah sebagai berikut:

• Callisto (26 Juni 2006)

• Europa (27 Juni 2007)

• Ganymede (25 Juni 2008)

• Galileo (24 Juni 2009)

• Helios (23 Juni 2010, sedang tahap perencanaan)

Di samping itu Eclipse juga didistribusikan dalam beberapa proyek sesuai kebutuhan spesifik:

• Sebagai Java IDE (fungsi utama)

• C++ IDE

• Java mobile/embedded device IDE 22

• Web development, dan sebagainya.

2.2.2.1 Pemrograman Java pada Android

a. Deklarasi Package

Deklarasi package digunakan untuk mengelompokkan class-class. Sebuah package dapat mempunyai satu atau lebih sub-package ini sehingga dapat menyusun sebuah hirarki.

Bentuk umum :

package..;

b. Deklarasi import

Deklarasi import, bersifat opsional, digunakan untuk menunjukkan package atau classyang digunakan dalam sebuah program Java.

Untuk Java, bentuk umumnya :

import java..

Untuk Java Android, bentuk umumnya :

Import android..

Tabel 2.1 Daftar Package beserta method bawaannya

No

Package

Method

Keterangan

1

android.app.Activity

Mendukung sebuah classsebagai activitypada aplikasi

onCreate()

dipanggil saat activity pertama kali dibuat

setContentView()

mengatur sebuah activity menggunakan sebuah layout pada resource

onSaveInstanceState()

Dipanggil untuk mengambil per-instance state dari suatu activity sebelum dimatikan sehingga state dapat dikembalikan dalam OnCreate(Bundle) atau onRestoreInstanceState(Bundle) (Bundle dipopulasikan method ini akan diteruskan untuk keduanya).

startActivity()

membuka sebuah activity baru

finish()

dipanggil untuk menutup sebuah activity

2

android.app.AlertDialog

Mendukung penggunaan alert dialog

show()

menampilkan alert dialog

Builder()

membuat sebuah alert dialog

setMessage()

Mengatur isi pesan pada alert dialog

setTitle()

mengatur judul alert dialog

setCancelable()

mengatur jika tombol pada alert dialog ditekan tidak akan terjadi apa-apa

setNeutralButton

menambahkan tombol yang hanya memiliki satu pilihan

3

android.content.DialogInterface

Mendukung penggunaan Antarmuka Dialog

showDialog()

menampilkan dialog

4

android.media.MediaPlayer

Mendukung penggunaan Media Player

create()

membuat sebuah media player

start()

digunakan untuk menjalankan media player

5

android.os.Bundle

Mendukung penggunaan classdapat berjalan pada sistem operasi Android

6

android.view.View

Mendukung penggunaan sebuah file xml sebagai tampilan

findViewById()

Menemukan view yang diidentifikasi oleh atribut id dari XML yang kemudian diproses dengan OnCreate()

7

android.view.View.OnClickListener

Mendukung sebuah view dapat menerima perintah eksekusi klik

setOnClickListener()

menerapkan penanganan event klik sebuah view

8

android.widget.ArrayAdapter

Mendukung penggunaan sebuah array adapter

9

android.widget.AutoCompleteTextView

Mendukung penggunaan widget autocomplete

10

android.widget.Button

Mendukung penggunaan widget Button

11

android.widget.ImageView

Mendukung penggunaan widget ImageView

setImageResource()

Digunakan untuk mengatur sumber gambar

12

android.widget.TextView

Mendukung penggunaan widget TextView

13

android.app.ProgressDialog

Mendukung penggunaan Progress Bar (Progress Dialog)

show()

Menampilkan Progress Dialog

dismiss()

Mengabaikan dialog yang sebelumnya ditampilkan melalui showDialog()

14

android.content.Intent;

Mendukung penggunaan Intent

15

android.widget.RadioButton

Mendukung penggunaan widget RadioButton

16

android.content.ContentValues

Mendukung penggunaan Content Values

17

android.content.Context

Mendukung penggunaan Context untuk menerapkan sebuah class pada class lain

18

android.database.Cursor

Mendukung penggunaan sebuah kursor basis data

query()

memberikan query pada tabel, lalu mengembalikan hasilnya sebagai cursor

rawQuery()

menjalankan SQL yang diberikan dan mengembalikan kursor sebagai hasilnya.

19

android.database.SQLException

Mendukung Exception untuk statement SQL

20

android.database.sqlite.SQLiteDatabase;

Mendukung penggunaan SQLite sebagai basis data

execSQL()

mengeksekusi satu statement SQL yang bukan query

open()

membuka database

close()

menutup database

21

android.database.sqlite.SQLiteOpenHelper;

Mendukung penggunaan OpenHelper SQLite

22

java.util.ArrayList;

digunakan untuk mendukung penggunaan sebuah arraylist

23

import java.util.List;

digunakan untuk mendukung penggunaan sebuah list

add()

menambahkan nilai ke dalam list.

c. Deklarasi Variable

1. Type Data

- Primitive: menyimpan data di memori tempat mereka berada.

Contoh: byte, int, short, long, float

- Reference: menyimpan alamat memori dimana data tersimpan di memori tempat mereka berada.

Contoh: String, Integer

2. Access Modifier

- Default (no modifier): hanya bisa diakses oleh classnya dan classdalam satu package

- Public : bisa diakses siapa saja

- Private : hanya bisa diakses oleh classnya

d. Operator

1. Operator Aritmatika

+ àpenambahan

- àpengurangan

2. Operator Increment dan Decrement

Dari sisi operator dasar aritmatika, java Android juga terdiri atas operator unary increment (++) dan operator unary decrement (--).Operator increment dan decrement menambah dah mengurangi nilai yang tersimpan dalm bentuk variabel angka terhadap nilai 1. Sebagai contoh, pernyataan :

count = count + 1; //increment nilai count dengan nilai 1

pernyataan tersebut ekivalen dengan : count++;

3. Operator Relasi

== àsama dengan

!= à tidak sama dengan

e. Struktur Perulangan dan Percabagan

1. Perulangan

- For

Bentuk umum :

for(, <>, ){

//perintah yang diulang}

2. Percabangan

- if

Bentuk umum :

If(){//perintah yang dijalankan jika benar}

else{//perintah yang dijalankan jika salah}

- switch

Bentuk umum :

switch(variable){

case : //program yang dijalankan

break;

case : //program yang dijalankan

break;

}

f. Inisialisasi layout dan widget XML

Inisialisasi ini digunakan pada saat medeklarasikan widget atau layout yang dipakai. Secara umum, bentuk pendeklarasian layout xml yang diimplementasikan pada suatu classmenggunakan method setContentView() seperti dibawah ini :

setContentView();

sedangkan untuk mendeklarasikan sebuh widget yang akan digunakan untuk keperluan program secara umum seperti dibawah ini :

= () this.findViewById();

g. Deklarasi Intent

Intent, adalah serangkaian nilai yang menunjukan apa yang harus dilakukan ketika terjadi perpindahan layar. Intent dapat membawa nilai dimana nilai tersebut akan digunakan pada activity yang terbuka selanjutnya. Secara umum deklarasi intent seperti dibawah ini :

Intent = new Intent(context, );

startActivity();

2.2.2.2. Konsep Pemrograman Berorientasi Objek pada Android

a. Objek

Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek , yaitu :

- Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state.

- Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour.

b. Class

Class berbeda dengan objek.Class merupakan prototipe yang mendefinisikan variabel-variabel dan method-method secara umum. Sedangkan objek pada sisi yang lain merupakan instansiasi dari suatu class.

[access modifier] [static] class<class name>{

// definisi class

}

c. Method

Method adalah function atau procedure yang dapat dipanggil oleh classnya ataupun classlain. Method merupakan tingkah laku atau behavior dari objek.Method dapat menggunakan parameter ataupun tidak.Method juga dapat mengembalikkan nilai atau pun tidak. Secara umum, aturan penulisan method adalah :

[access modifier] [static]

([parameter]*) {

// definisi method

}

Keterangan :

- Return type

· Tidak mengembalikan nilai : void

· Mengembalikan nilai bertipe tertentu: int, float, String, dll

- Parameter

· Menerima inputan dari luar method

· Format:

· Jika parameter yang diguanakan lebih dari satu, gunakan koma untuk memisahkan.

d. Inheritance

Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi. Inheritance merupakan pewarisan atribut dan method pada sebuah classyang diperoleh dari classyang telah terdefinisi tersebut. Setiap subclassakan mewarisi state ( variabel-variabel ) dan behaviour ( method method ) dari superclass-nya. Subclasskemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override) state dan behaviour yang diturunkan oleh superclass-nya.

Istilah dalam inheritance yang perlu diperhatikan :

- Extends

Keyword ini harus kita tambahkan pada definisi classyang menjadi subclass.

- Superclass

Superclassdigunakan untuk menunjukkan hirarki classyang berarti classdasar dari subclass/classanak.

- Subclass

Subclassadalah classanak atau turunan secara hirarki dari superclass.

- Super

Keyword ini digunakan untuk memanggil konstruktor dari superclassatau menjadi variabel yang mengacu pada superclass.

- Method Overriding

Pendefinisian ulang method yang sama pada subclass.

Pada pemrograman Android, ada beberapa superclass yang biasa digunakan sebagai class parent, antara lain classActivity dan SQLiteOpenHelper.

1 komentar: